我对 Visual Basic 很陌生,所以如果这是一个基本问题,我深表歉意。
我有两份 excel 文件,一份包含公司名称列表及其相应的识别号(总共约 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()
将是我会使用的。