VBA 条件検索について
VBAの検索について質問です。
以下のようなものを作ろうと思います。
sheet1とsheet2がありsheet1のA、Bの数値をsheet2の同じA,Bの数値の値の行を検索して,
その同じ値の行のsheet1のCの数値の値からsheet2のCの数値を引いた値をsheet3のC列に返すプログラムを作ろうと思います。空白などで同じ値がない場合はsheet3に空欄を返そうと思います。
以下に例をプログラムの実行例を示します。
sheet1
■ A 列 B 列 C列
1: 7 | 1 | 3
2: 5 | 8 | 2
3: 2 | 3 | 1
4: 9 | 6 | 4
sheet2
■ A 列 B列 C列
1: 2 | 3 | 4
2: 9 | 6 | 2
3: 7 | 1 | 5
4: 5| | 3
sheet3
■ A列 B列 C列
1: 7| 1 | -2
2:
3: 2| 3 | -3
4: 9 | 6 | 2
自分で以下のプログラムを作成してみたのですが空欄が検索できなかったりしてなかなかできません。
どなたか、教えてください。お願いします。
Sub test()
Dim sh1 As Object, sh2 As Object, sh3 As Object
Dim d1 As String, d2 As String, a As Long
Set sh1 =Sheets(“Sheet1”)
Set sh2 =Sheets(“Sheet2”)
Set sh3 =Sheets(“Sheet3”)
For a = 1 To 3000 Step 1
d1 = sh1.Cells(a,1) & sh1.Cells(a,2)
d2 = sh2.Cells(a,1) & sh2.Cells(a,2)
Do while d2 <>””
If d1 = d2 Then
Sh3.Cells(a,1) = sh1.Cells(a,1)
Sh3.Cells(a,2) = sh1.Cells(a,2)
Sh3.Cells(a,3) = sh1.Cells(a,3)
Exit Do
End If
a= a+1
d2 = sh2.Cells(a,1) & sh2.Cells(a,2)
Loop
Next
End Sub
お礼
ずっとお世話になりっぱなしで・・・ これで出来ると思います ありがとうございました