我正在编写一个宏来将数据从输入表单传输到存储表。
我已经制定了粗略的代码,并且可以运行。仅当我选择了目标工作表时。如果我尝试从包含表单的工作表中运行它,则会引发以下错误:
Run-time error '1004': Select method of Range class failed
但是,如果我从目标工作表中运行宏,它会完美执行。这是代码:
Sub ExpFormCharge()
Dim pasteCell As Range
Range("expenseTbl").ListObject.ListRows.Add AlwaysInsert:=False
Range("ETBMARKER").Offset(-1, 0).Select
Range("ExpFormBackend").Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
后端表由另一个宏填充,然后将该表复制并粘贴到费用表(存储表)的新行中。调试选项突出显示的行是这一行:
Range("ETBMARKER").Offset(-1, 0).Select
那是指一个标记,存储表的总行偏移一,以便选择表的底部行。无论是从 vba 窗口还是从宏选择窗格执行代码,只要选择了目标工作表以外的工作表,就会发生此错误。