我的工作簿包含两个工作表(第1页和第2页)
我想在第J列的第1页中查找ID,并且需要在第2页的第2页中查找相应的日期。
我希望将该日期打印在第1页的W栏中。
问题是,在少数情况下,我会收到我的评论部分,该部分位于表2的第L列,而不是日期。
表2中的列G完全填满。
任何人都可以建议我的代码或执行有什么问题。我只想要打印日期,如果没有,那么我不需要打印任何东西。
Sub lookup()
Dim totalrows As Long
Dim totalcolumn As Long
Dim rng As range
Dim rng1 As range
Dim i As Long
totalrows = ActiveSheet.UsedRange.Rows.Count
For i = 2 To totalrows
Sheets("Sheet1").Select
Set rng = Sheets("Sheet2").UsedRange.Find(Cells(i, 7).Value)
If Not rng Is Nothing Then
Cells(i, 23).Value = rng.Value
End If
Next i
End Sub
答案 0 :(得分:0)
你必须在那里放置另一个Sheets("Sheet2")
以获得正确的参考:
Sheets("Sheet2").UsedRange.Find(Sheets("Sheet2").Cells(i, 7).Value)
尝试使用With...End With
语句。然后,您可以使用Point(“。”)来引用您在with语句中设置的工作表。
经过一些评论后,我认为这是你所需要的:
Sub lookup()
Dim totalrows As Long
Dim totalcolumn As Long
Dim rng As String
Dim i As Long
With Sheets("Sheet1")
totalrows = .Range(.Cells(1, 10), .Cells(1, 10).End(xlDown)).Rows.Count
For i = 2 To totalrows
With Sheets("Sheet2")
rng = .UsedRange.Find(Sheets("Sheet1").Cells(i, 10).Value).Offset(0, -3).Value
End With
If rng <> "" Then
.Cells(i, 23).Value = rng
End If
Next
End With
End Sub
此代码从Sheet2中的单元格J2中查找ID。之后,它保存单元格3列的值(J - 3列是G列)。这是您要写入单元格W2的日期。直到列J为空的所有行的那个。 这是你想要的功能吗?