|
こんにちは。
そんなにデータ量が多くなければ普通にループでまわせばよいのではないのでしょうか・・・?(あんま自信ないですけど)
あくまで力技ですけど
注:各表はファイルが違うものとしてます。
Sub 表転記()
Dim i, j As Integer
For i = 1 To 10
For j = 1 To 10
'B表の一列目と、A表の一列目が同じ時
If Workbooks("B.xls").Worksheets("Sheet1").Cells(i, 1).Value = _
Workbooks("A.xls").Worksheets("Sheet1").Cells(j, 1).Value Then
'B表の2列目に、A表の2列目のデータを入力します。
Workbooks("B.xls").Worksheets("Sheet1").Cells(i, 2).Value = _
Workbooks("A.xls").Worksheets("Sheet1").Cells(j, 2).Value
'B表の3列目に、A表の3列目のデータを入力します。
Workbooks("B.xls").Worksheets("Sheet1").Cells(i, 3).Value = _
Workbooks("A.xls").Worksheets("Sheet1").Cells(j, 3).Value
'B表の4列目に、A表の4列目のデータを入力します。
Workbooks("B.xls").Worksheets("Sheet1").Cells(i, 4).Value = _
Workbooks("A.xls").Worksheets("Sheet1").Cells(j, 4).Value
'B表の5列目に、A表の5列目のデータを入力します。
Workbooks("B.xls").Worksheets("Sheet1").Cells(i, 5).Value = _
Workbooks("A.xls").Worksheets("Sheet1").Cells(j, 5).Value
'B表の6列目に、A表の6列目のデータを入力します。
Workbooks("B.xls").Worksheets("Sheet1").Cells(i, 6).Value = _
Workbooks("A.xls").Worksheets("Sheet1").Cells(j, 6).Value
End If
Next j
Next i
End Sub
10行目まで回していますが、もっとあるのなら空欄になったら抜けるようにするとか・・・。
必要なデータがtarouの場合だけでしたら、最初のif文で、
If Workbooks("B.xls").Worksheets("Sheet1").Cells(i, 1).Value = tarou then
'省略
End if
とすればよいかと思います。
あくまでも力技ですので、あしからず・・・。
|
|