尝试创建一个搜索按钮,当在单元格(B10)中输入时间并按下按钮时,将会将值复制到工作表。尝试了几个教程,但我一直在做错误的事情。使用时间vba的搜索按钮
搜索功能在sheet1上,我的所有数据都在sheet2上。在单元格B10中输入日期和时间(m/dd/yyyy hh:mm:ss),并将信息复制/粘贴到单元格D10:I10中。表2中的时间在A中,而我想要的数据是B到G.搜索只应返回一行值。
我在代码中做了什么错误?
Sub search()
Dim erow As Long
Dim ws As Worksheet
Dim lastrow As Long
Dim count As Integer
lastrow = Sheets("Sheet2").Cells(Rows.count, 1).End(xlUp).Row
For x = 2 To lastrow
If Sheets("Sheet2").Cells(x, 1) = Sheet1.Range("B10") Then
Sheet1.Range("D10") = Sheets("Sheet2").Cells(x, 2)
Sheet1.Range("E10") = Sheets("Sheet2").Cells(x, 3)
Sheet1.Range("F10") = Sheets("Sheet2").Cells(x, 4)
Sheet1.Range("G10") = Sheets("Sheet2").Cells(x, 5)
Sheet1.Range("H10") = Sheets("Sheet2").Cells(x, 6)
Sheet1.Range("I10") = Sheets("Sheet2").Cells(x, 7)
End If
End Sub
'Rows'在'Rows.Count'(隐含)指的是什么工作是有效的。如果这不是'Sheet2',并且你的代码有效,那么它运气不好。最好限定“Rows”调用它正在查看的工作表。您还应该从'Worksheets'集合中获取工作表引用,因为'Sheets'集合可以包含图表和其他非工作表表单类型。 –
您的'For'循环需要'Next'令牌来终止。 –