我有三张Sheets,sheet1,sheet2和sheet3。
我正在尝试复制sheet3中的工作表1,列N和F.
然后,使用此ID,我查看A列并查看它们是否匹配, 如果是,那么我将匹配的ID复制到sheet3。
出于这个原因,我正在使用下面的代码。
代码工作正常至今。但是今天早上我更新了我的sheet2,并且由于某种原因,代码是Keep持续执行了很长时间但仍然无法获得输出,我无法找出原因。
我尝试调试,下面的行突出显示。
如果没有,那么
另外,我在工作表中使用了一个按钮并调用了
这样的函数调用thisworkbook.lookup
同样我还有6个其他功能,附在此按钮上。
这是完整的代码。有人可以帮我弄清楚是什么原因。
Sub lookup()
Dim totalrows As Long
Dim Totalcolumns As Long
Dim rng As Range
Dim rng1 As Range
Dim rng2 As Range
Dim i As Long
'Copy lookup values from sheet1 to sheet3
Sheets("S1").Select
totalrows = ActiveSheet.UsedRange.Rows.Count
Totalcolumns = ActiveSheet.UsedRange.Columns.Count
'TotalRows = 441
'Totalcolumns = 392
Range("N5:N" & totalrows).Copy Destination:=Sheets("s3").Range("E5")
Range("F5:F" & totalrows).Copy Destination:=Sheets("s3").Range("H5")
'Go to the destination sheet
Sheets("s3").Select
For i = 5 To totalrows
'Search for the value on sheet2
Set rng = Sheets("s2").UsedRange.Find(Cells(i, 5).Value)
'If it is found put its value on the destination sheet
If Not rng Is Nothing Then
Cells(i, 6).Value = rng.Value
Cells(i, 1).Value = rng.Offset(0, 1).Value
Cells(i, 2).Value = rng.Offset(0, 2).Value
Cells(i, 3).Value = rng.Offset(0, 3).Value
Cells(i, 4).Value = rng.Offset(0, 9).Value
Cells(i, 9).Value = rng.Offset(0, 10).Value
Cells(i, 12).Value = rng.Offset(0, 6).Value
Cells(i, 13).Value = rng.Offset(0, 5).Value
Cells(i, 14).Value = rng.Offset(0, 8).Value
End If
Next
End Sub
答案 0 :(得分:0)
问题是由工作表S1的UserdRange超出其真实大小引起的。 问题解决了: