Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12538 / 13644 ツリー ←次へ | 前へ→

【10014】[無題] banboo 03/12/30(火) 9:09 質問
【10015】Re:回答のつもり Hirofumi 03/12/30(火) 11:18 回答
【10016】Re:回答のつもり banboo 03/12/30(火) 13:45 質問
【10017】Re:回答のつもり▼Hirofumi さん: banboo 03/12/30(火) 13:45 質問
【10018】Re:回答のつもり▼Hirofumi さん: banboo 03/12/30(火) 14:00 質問
【10019】Re:回答 Hirofumi 03/12/30(火) 14:31 回答

【10014】[無題]
質問  banboo E-MAIL  - 03/12/30(火) 9:09 -

引用なし
パスワード
   A  B  C D E F G H I列
1  50 40 30 20 10 50 60 70
2  50 40 30 20 10 50 60 70
3  50 40 30 20 10 50 60 70
4  50 40 30 20 10 50 60 70
5  50 40 30 20 10 50 60 70
6  50 40 30 20 10 50 60 70
7  50 40 30 20 10 50 60 70
8  50 40 30 20 10 50 60 70
9  50 40 30 20 10 50 60 70
10 50 40 30 20 10 50 60 70
11 50 40 30 20 10 50 60 70
12 50 40 30 20 10 50 60 70
.
.
.
.
.
400

 以上のようにデ−タが入力されていて、1行目、7行目、13行目と
6行とばしに、デ−タを抽出したいのですが私はマクロが?なので
教えていただけないでしょうか。

【10015】Re:回答のつもり
回答  Hirofumi E-MAIL  - 03/12/30(火) 11:18 -

引用なし
パスワード
   手抜きの質問なので手抜きの回答
題名ぐらいちゃんと書いたら?

Public Sub Extraction()

  Dim i As Long
  Dim j As Long
  Dim wksData As Worksheet
  Dim wksResult As Worksheet
  
  Application.ScreenUpdating = False
  
  Set wksData = ActiveSheet
  Set wksResult = Worksheets.Add(After:=wksData)
  
  With wksData
    j = 1
    For i = 1 To .Range("A65536").End(xlUp).Row Step 6
      .Cells(i, 1).Resize(, 9).Copy _
            Destination:=wksResult.Cells(j, 1)
      j = j + 1
    Next i
  End With
  
  Set wksResult = Nothing
  Set wksData = Nothing
  
  Application.ScreenUpdating = True
  
End Sub

【10016】Re:回答のつもり
質問  banboo E-MAIL  - 03/12/30(火) 13:45 -

引用なし
パスワード
   ▼Hirofumi さん:
>手抜きの質問なので手抜きの回答
>題名ぐらいちゃんと書いたら?
>
>Public Sub Extraction()
>
>  Dim i As Long
>  Dim j As Long
>  Dim wksData As Worksheet
>  Dim wksResult As Worksheet
>  
>  Application.ScreenUpdating = False
>  
>  Set wksData = ActiveSheet
>  Set wksResult = Worksheets.Add(After:=wksData)
>  
>  With wksData
>    j = 1
>    For i = 1 To .Range("A65536").End(xlUp).Row Step 6
>      .Cells(i, 1).Resize(, 9).Copy _
>            Destination:=wksResult.Cells(j, 1)
>      j = j + 1
>    Next i
>  End With
>  
>  Set wksResult = Nothing
>  Set wksData = Nothing
>  
>  Application.ScreenUpdating = True
>  
>End Sub


 ありがとうございました。
もう少しで動きそうなんですが、うまくいきません。
行は8行くらいで、列は300位あり1列目、7列目、13列目と
6列ごとにデ−タを抽出したいのです。
  プログラムのどこを変更すればいいのでしょう?
 お忙しいとは思いますが、教えてください。

【10017】Re:回答のつもり▼Hirofumi さん:
質問  banboo E-MAIL  - 03/12/30(火) 13:45 -

引用なし
パスワード
   ▼Hirofumi さん:
>手抜きの質問なので手抜きの回答
>題名ぐらいちゃんと書いたら?
>
>Public Sub Extraction()
>
>  Dim i As Long
>  Dim j As Long
>  Dim wksData As Worksheet
>  Dim wksResult As Worksheet
>  
>  Application.ScreenUpdating = False
>  
>  Set wksData = ActiveSheet
>  Set wksResult = Worksheets.Add(After:=wksData)
>  
>  With wksData
>    j = 1
>    For i = 1 To .Range("A65536").End(xlUp).Row Step 6
>      .Cells(i, 1).Resize(, 9).Copy _
>            Destination:=wksResult.Cells(j, 1)
>      j = j + 1
>    Next i
>  End With
>  
>  Set wksResult = Nothing
>  Set wksData = Nothing
>  
>  Application.ScreenUpdating = True
>  
>End Sub


 ありがとうございました。
もう少しで動きそうなんですが、うまくいきません。
行は8行くらいで、列は300位あり1列目、7列目、13列目と
6列ごとにデ−タを抽出したいのです。
  プログラムのどこを変更すればいいのでしょう?
 お忙しいとは思いますが、教えてください。

【10018】Re:回答のつもり▼Hirofumi さん:
質問  banboo E-MAIL  - 03/12/30(火) 14:00 -

引用なし
パスワード
   ▼banboo さん:
>▼Hirofumi さん:
>>手抜きの質問なので手抜きの回答
>>題名ぐらいちゃんと書いたら?
>>
>>Public Sub Extraction()
>>
>>  Dim i As Long
>>  Dim j As Long
>>  Dim wksData As Worksheet
>>  Dim wksResult As Worksheet
>>  
>>  Application.ScreenUpdating = False
>>  
>>  Set wksData = ActiveSheet
>>  Set wksResult = Worksheets.Add(After:=wksData)
>>  
>>  With wksData
>>    j = 1
>>    For i = 1 To .Range("A65536").End(xlUp).Row Step 6
>>      .Cells(i, 1).Resize(, 9).Copy _
>>            Destination:=wksResult.Cells(j, 1)
>>      j = j + 1
>>    Next i
>>  End With
>>  
>>  Set wksResult = Nothing
>>  Set wksData = Nothing
>>  
>>  Application.ScreenUpdating = True
>>  
>>End Sub
>
>
> ありがとうございました。
>もう少しで動きそうなんですが、うまくいきません。
>行は8行くらいで、列は300位あり1列目、7列目、13列目と
>6列ごとにデ−タを抽出したいのです。
>  プログラムのどこを変更すればいいのでしょう?
> お忙しいとは思いますが、教えてください。

【10019】Re:回答
回答  Hirofumi E-MAIL  - 03/12/30(火) 14:31 -

引用なし
パスワード
   [10008]の方と同じ人ですね
其方の表示に合わせました
以下を標準モジュールに記述して下さい
データの有るシートをアクティブにして実行して下さい

>もう少しで動きそうなんですが、うまくいきません。
>行は8行くらいで、列は300位あり1列目、7列目、13列目と
>6 列ごとにデ -タを抽出したいのです。
>  プログラムのどこを変更すればいいのでしょう?

行と列を間違えていませんか?
6行ごとに抽出する様に書いて有りますが?

Public Sub Extraction2()

  Dim i As Long
  Dim j As Long
  Dim wksData As Worksheet
  
  Application.ScreenUpdating = False
  
  Set wksData = ActiveSheet
  
  With wksData
    j = 2
    For i = 2 To .Range("A65536").End(xlUp).Row Step 6
      .Cells(i, 2).Resize(, 7).Copy _
            Destination:=.Cells(j, 10)
      j = j + 1
    Next i
  End With
  
  Set wksData = Nothing
  
  Application.ScreenUpdating = True
  
End Sub

12538 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free