Vba 运行时错误1004:工作表类的选择方法失败,错误为(varCellContent.Parent.Name)
代码进行编辑,然后将数据从临时工作表复制到当前工作簿。我使用varCellContent要求用户选择源工作表。当我使用F8逐步构建代码时,测试代码没有任何问题(代码仍然像这样完美地工作) 但是当我正常运行宏时,我会 运行时错误1004:选择工作表类的方法失败 在以下行:Vba 运行时错误1004:工作表类的选择方法失败,错误为(varCellContent.Parent.Name),vba,excel,Vba,Excel,代码进行编辑,然后将数据从临时工作表复制到当前工作簿。我使用varCellContent要求用户选择源工作表。当我使用F8逐步构建代码时,测试代码没有任何问题(代码仍然像这样完美地工作) 但是当我正常运行宏时,我会 运行时错误1004:选择工作表类的方法失败 在以下行: Workbooks(varCellContent.Parent.Name).Worksheets("Sheet1").Select 下面的内容可能与问题的原因无关,但在寻找答案时,我已经读了一些关于它的内容。 听起来使用.Se
Workbooks(varCellContent.Parent.Name).Worksheets("Sheet1").Select
下面的内容可能与问题的原因无关,但在寻找答案时,我已经读了一些关于它的内容。
听起来使用.Select不是一个好主意,但有两个原因我认为它在这种情况下很有用
Sub ImportNewData()
'
'
' Import data, save as new workbook
Dim LR As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
' Clear data
Range("A3:I" & LR).ClearContents
' User choose source sheet
Dim varCellContent As Worksheet
Set varCellContent = Application.InputBox _
(prompt:=" " & vbNewLine & "Click any cell in the Aged AP Summary that has been exported from Systematic to Excel, then click OK", Type:=8).Parent
Workbooks(varCellContent.Parent.Name).Worksheets("Sheet1").Select
'Delete unrequired columns
Columns("E:I").Select
Selection.Delete Shift:=xlToLeft
成功了,谢谢!:-)我仍然不明白为什么。使用F8单步执行时选择worked(工作),但在调试应用程序时选择not Normal(不正常)会修改计算机的状态,因此它的运行方式与调试时的运行方式不同。这很有效,谢谢!:-)我仍然不明白为什么。使用F8单步执行时,选择“工作”,但在调试应用程序修改计算机状态时,选择“不正常”,因此它的运行方式与调试时不同。
Worksheets("Sheet1").Activate
Columns("E:I").Delete Shift:=xlToLeft