运行时错误1004:选择工作表类的方法失败(varCellContent.Parent.Name)

时间:2016-01-19 22:57:37

标签: vba excel-vba excel

代码编辑,然后将数据从临时工作表复制到当前工作簿。我正在使用varCellContent来要求用户选择源表。在测试代​​码时我没有遇到任何问题,因为我使用F8来逐步完成代码(代码仍然可以像这样完美地工作)。

但是当我正常运行宏时,我正在

  

运行时错误1004:选择工作表类失败方法

在以下一行:

Workbooks(varCellContent.Parent.Name).Worksheets("Sheet1").Select

以下可能与问题的原因无关,但我在搜索答案时已经阅读了一些相关内容。 这听起来像是在使用。选择不是一个好主意,但有两个原因我觉得它在这种情况下很有用。

  1. 我不必为删除和移动列的以下每行代码命名工作表。
  2. 在构建和调试代码时,我希望工作表可见,以便在逐步完成每行代码时可以看到发生的情况。
  3. 因此,考虑到这两个原因,还有更好的方法可以避免使用。选择?

    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
    

1 个答案:

答案 0 :(得分:0)

Worksheets("Sheet1").Activate
Columns("E:I").Delete Shift:=xlToLeft