|
▼kanabun さん:
ご回答ありがとうございます。
説明が不十分で申し訳ありません。
実行したいことは
sheet1のCells(i,1)の値をsheet2の1列目から探し、Offset(0,1)の値をsheet1の
5列目に持ってくる
次に、sheet1のCells(i,1)(これを繰り返す)の値をsheet2の3列目から探し、Offset(0,1)の
値をsheet1の8行目に持ってくる
順次、sheet1の検索元は常にCells(i,1)で、sheet2の5列目、7列目、9列目、・・・を
sheet1の11列目、14列目、・・・に持ってくる。(5,8,11、・・・と計12回繰り返す)。
ご回答いただいた内容を適用し実行して見ましたが一部でデバックが発生して
しまいました。ご指導いただければと思います。
Sub 列検索でデータを取り込む改良版2()
Dim i As Long
Dim j As Long
Dim h As Long
Dim S As String
Dim c As Range
Dim WS1 As Worksheet
Dim WS2 As Worksheet
Set WS1 = Worksheets("sheet1")
Set WS2 = Worksheets("sheet2")
h = 1
With WS1
For i = 3 To .Cells(.Rows.Count, 1).End(xlUp).Row
S = .Cells(i, 1).Value 'WS1の1列i番目の値を取得する
For j = 5 To 38 Step 3
Set c = WS2.Columns(h).Find(S)
WS1.Cells(h, j).Value = c.Offset(, 1).Value
'↑ここでデバックが発生 実行時エラー91
h = h + 2
Next j
Next
End With
End Sub
上記デバックの解決策を教えていただけませんでしょうか。
よろしくお願いいたします。
|
|