在这里,我试图对两个不同工作簿的两个不同工作表之间的某些值(例如a,b,c,d)进行vlookup。 我站在一个单独的工作簿上,在其中我放置了一个命令按钮来运行VBA代码,但是 在以下行中显示错误:“参数不可选”:
y_Sheet.Cells(i, 4) = Application.WorksheetFunction.VLookup(Cells(i, 2).myrange.False)
在这方面的任何帮助都受到高度赞赏。
下面指定了完整的代码以供参考:
Sub macro()
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
'On Error Resume Next
Dim x As Workbook
Dim x_Sheet As Worksheet
Dim y As Workbook
Dim y_Sheet As Worksheet
Set x = Workbooks.Open("C:\Users\Win 7\Desktop\V_Lookup\database")
Set y = Workbooks.Open("C:\Users\Win 7\Desktop\V_Lookup\report")
Set x_Sheet = x.Sheets("Sheet1")
Set y_Sheet = y.Sheets("Data")
Dim endrow As Long
Dim nextrow As Long
endrow = x_Sheet.Range("A" & Rows.Count).End(xlUp).Row
nextrow = y_Sheet.Range("A" & Rows.Count).End(xlUp).Row + 1
'COPY ENTIRE ROW USING VLOOKUP IF THE DATE IS TODAY
For i = 2 To endrow
If x_Sheet.Cells(i, 1).Value = Date Then
x_Sheet.Cells(i, 1).EntireRow.Copy Destination:=y_Sheet.Cells(nextrow, "A")
nextrow = nextrow + 1
End If
Next i
'AUTOMATE REQUIRED VALUE USING VLOOKUP IF THE DATE IS TODAY
Dim lastrow As Long
lastrow = y_Sheet.Range("A" & Rows.Count).End(xlUp).Row
Set myrange = x.Sheets("Sheet2").Range("A:B")
For ii = 2 To lastrow
If y_Sheet.Cells(ii, 1).Value = Date Then
y_Sheet.Cells(ii, 4) = Application.WorksheetFunction.VLookup(Cells(ii, 2).myrange.False)
End If
Next ii
MsgBox "Done"
结束子