我迫切需要能够复制和复制的代码。根据第一列中匹配的数字,将新提取的数据粘贴到跟踪工作表中。
我有两个工作表,“Registry”和“Sheet2”。 Registry用于跟踪,Sheet2有我要传输到Registry的新数据。 我希望将Sheet2中的保险类型数据(col B)复制并粘贴到Registry(col E)中的保险类型列中。但我需要它与col A中的ID匹配,因为我的提取不包括我在Registry中列出的所有ID。
如果有帮助,注册表中数据w / data的范围是row2:row177; Sheet2中的数据范围是第2行:row174
我感谢所有帮助,如果我不够清楚或者您需要更多信息,请告诉我。
谢谢, 凯尔
Sub updateins()
Dim i As Long
Dim j As Long
Sheet1LastRow = Worksheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Row
Sheet2LastRow = Worksheets("Registry").Range("A" & Rows.Count).End(xlUp).Row
For j = 2 To Sheet1LastRow
For i = 2 To Sheet2LastRow
If Worksheets("Sheet2").Cells(j, 1).Value = Worksheets("Registry").Cells(i, 1).Value Then
Worksheets("Sheet2").Cells(j, 2).Value = Worksheets("Registry").Cells(i, 5).Value
Else
End If
Next i
Next j
End Sub
答案 0 :(得分:0)
不确定问题可能是什么。代码对我来说很好。以下是建议的一些小调整:
Option Explicit
Sub updateins()
Dim i As Long
Dim j As Long
Dim Sheet1LastRow As Long
Dim Sheet2LastRow As Long
Sheet1LastRow = Worksheets("Sheet2").Range("A" & Worksheets("Sheet2").Rows.Count).End(xlUp).Row
Sheet2LastRow = Worksheets("Registry").Range("A" & Worksheets("Registry").Rows.Count).End(xlUp).Row
MsgBox "Comparing rows 2 through " & Sheet1LastRow & " on 'Sheet2'" & Chr(10) & _
"with rows 2 through " & Sheet2LastRow & " on 'Registry'."
For j = 2 To Sheet1LastRow
For i = 2 To Sheet2LastRow
If UCase(Trim(Worksheets("Sheet2").Cells(j, 1).Value)) = UCase(Trim(Worksheets("Registry").Cells(i, 1).Value)) Then
Worksheets("Registry").Cells(j, 5).Value = Worksheets("Sheet2").Cells(i, 2).Value
End If
Next i
Next j
End Sub
我只是添加了一个MessageBox,以确保通过列A
正确确定了最后一行。