私は Visual Basic に非常に慣れていないため、これが基本的な質問である場合は申し訳ありません。
私は 2 つの Excel ドキュメントを持っています。1 つは会社名とそれに対応する識別番号 (合計で約 4000) のリストです。別のドキュメントに、人々と彼らが働いている人のリストがあります (これらは最初のドキュメントと同じ会社ですが、その会社の複数の人と仕事をしているため、会社ごとに複数の行がある場合があります) )。ここには約7000のエントリがあります。すべての会社 ID 番号を、会社のすべての従業員と一緒にドキュメントに転送したいと考えています。コードの概念は理解できましたが、残念ながらこれを書くには Excel の VBA 構文について十分な知識がありません。いくつかのコードを書きましたが、うまくいかず、理由がわかりません。
Sub Firm_Number_Transfer()
Dim i As Integer
Dim x As Integer
Dim row As Integer
Dim oldRow As Integer
Dim found As Boolean
row = 1
oldRow = 1
For i = Workbooks("PM Firm Contacts - Step 2 - REVIEWED").Worksheets("Sheet2").Cells("B1") To Workbooks("PM Firm Contacts - Step 2 - REVIEWED").Worksheets("Sheet2").Cells("B7122") Step 1
row = row + 1
For x = Workbooks("PM Firms - Step 1 - REVEIWED").Sheets("Sheet1").Cells("B2") To Workbooks("PM Firms - Step 1 - REVEIWED").Sheets("Sheet1").Cells("B4843") Step 1
oldRow = oldRow + 1
If i = x Then
Workbooks("PM Firm Contacts - Step 2 - REVIEWED").Sheets("Sheet2").Cells(row, 1) = Workbooks("PM Firm Contacts - Step 2 - REVIEWED").Sheets("Sheet2").Cells(oldRow, 1)
found = True
End If
Next x
found = False
oldRow = 1
Next i
End Sub
私が行方不明であることは明らかですか?どんな助けでも大歓迎です。
編集
また、表は会社が右側にあり、会社番号が左側にあるように設定されていることも付け加えておきます。私が理解していることからVLOOKUP()
、会社が左側にあり、コピーしている会社番号が右側にある場合にのみ機能します。それ以外の場合VLOOKUP()
は、私が使用するものになります。