为什么我的复制和粘贴代码出现“需要对象”错误?

问题描述 投票:0回答:1

当我运行我的代码以将数据从我的用户窗体复制并粘贴到我的工作表时,我收到“需要对象”错误。我不太确定为什么。 .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```
excel vba userform
1个回答
0
投票

SalesForm.BHSDDATEIF.Value
不是对象,因此它没有
Copy
方法。

您应该直接将值分配给范围,而不是复制/粘贴。

例如:

wsDest.Range("I" & lDestLastRow) = SalesForm.BHSDDATEIF.Value 
© www.soinside.com 2019 - 2025. All rights reserved.