当我运行我的代码以将数据从我的用户窗体复制并粘贴到我的工作表时,我收到“需要对象”错误。我不太确定为什么。 .Copy 函数是否不使用值或它在我的用户窗体上?我应该使用其他功能还是我只是在代码中输入了错误的内容?
这是我的代码:
Dim wsDest As Worksheet
Dim lCopyLastRow As Long
Dim lDestLastRow As Long
Set wsDest = ThisWorkbook.Worksheets("backend")
lDestLastRow = wsDest.Cells(wsDest.Rows.Count, "I").End(xlUp).Offset(1).Row
SalesForm.BHSDDATEIF.Value.Copy _
wsDest.Range("I" & lDestLastRow)
SalesForm.BHSDREPNUMBERIF.Value.Copy _
wsDest.Range("H" & lDestLastRow)
SalesForm.BHSDMAINNUMBERLF.Value.Copy _
wsDest.Range("S" & lDestLastRow)
SalesForm.BHSDTAPNAMELF.Value.Copy _
wsDest.Range("T" & lDestLastRow)
SalesForm.BHSDCOMPANYNAMELF.Value.Copy _
wsDest.Range("U" & lDestLastRow)
SalesForm.BHSDEMAILLF.Value.Copy _
wsDest.Range("V" & lDestLastRow)
SalesForm.BHSDADDRESSLF.Value.Copy _
wsDest.Range("W" & lDestLastRow)
SalesForm.BHSDCSZLF.Value.Copy _
wsDest.Range("X" & lDestLastRow)
SalesForm.BHSDAMOUNTIF.Value.Copy _
wsDest.Range("F" & lDestLastRow)
SalesForm.BHSDCCAMOUNTIF.Value.Copy _
wsDest.Range("G" & lDestLastRow)
SalesForm.BHSDCARDNUMIF.Value.Copy _
wsDest.Range("B" & lDestLastRow)
SalesForm.BHSDEXPIF.Value.Copy _
wsDest.Range("C" & lDestLastRow)
SalesForm.BHSDCVVIF.Value.Copy _
wsDest.Range("D" & lDestLastRow)
SalesForm.BHSDZIPIF.Value.Copy _
wsDest.Range("E" & lDestLastRow)
SalesForm.BHSRUNDATEIF.Value.Copy _
wsDest.Range("A" & lDestLastRow)
SalesForm.BHSDNOTESIF.Value.Copy _
wsDest.Range("M" & lDestLastRow)
End Sub```
SalesForm.BHSDDATEIF.Value
不是对象,因此它没有 Copy
方法。
您应该直接将值分配给范围,而不是复制/粘贴。
例如:
wsDest.Range("I" & lDestLastRow) = SalesForm.BHSDDATEIF.Value