【问题标题】:Run-time error '1004' - Select method of Worksheet class failed运行时错误“1004” - 工作表类的选择方法失败
【发布时间】:2020-11-11 07:14:32
【问题描述】:

所以我正在尝试创建一个宏,其中所有工作表都将返回到单元格 A1。除此之外,如果工作表上有冻结的单元格,此宏还将在所有工作表上向上和向左滚动。此代码的最后一段将返回到所需的工作表。

当我进入这段代码时,我在第三张纸的开头收到了这个 1004 错误。这个excel有8张。

Sub Retun_to_A1()

'Retun_to_A1 Macro

 'returns selected cell to A1

 'Keyboard Shortcut: Ctrl+Shift+A

    For Each ws In ActiveWorkbook.Sheets
    ws.Select
    ActiveWindow.ScrollRow = 1
    ActiveWindow.ScrollColumn = 1
    Do Until Cells(ActiveWindow.ScrollRow, ActiveWindow.ScrollColumn).Height > 0
    ActiveWindow.ScrollRow = ActiveWindow.ScrollRow + 1
    Loop
    Do Until Cells(ActiveWindow.ScrollColumn, ActiveWindow.ScrollColumn).Width > 0
    ActiveWindow.ScrollColumn = ActiveWindow.ScrollColumn + 1
    Loop
    Cells(ActiveWindow.ScrollRow, ActiveWindow.ScrollColumn).Select
    Next ws
    For Each ws In ActiveWorkbook.Sheets
    ws.Select
    Range("A1").Select
    Next ws
    Sheets("JE Summary").Select
End Sub

更新


Sub Retun_to_A1()
'
' Retun_to_A1 Macro
' returns selected cell to A1
'
' Keyboard Shortcut: Ctrl+Shift+A
'
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
    If Not ws.ProtectContents And ws.EnableSelection = xlNoRestrictions And ws.Visible = xlSheetVisible Then
        Dim rng As Range
        Set rng = ws.Cells.SpecialCells(xlCellTypeVisible).Cells(1)
        
        Application.Goto rng, True
    End If
Next

Sheets(5).Select

End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    这里不使用Select,而是使用Application.GoTo。另请注意,您实际上需要能够选择有问题的单元格...可能类似于以下内容:

    Dim ws As Worksheet
    For Each ws In ActiveWorkbook.Worksheets
        If Not ws.ProtectContents And ws.EnableSelection = xlNoRestrictions And ws.Visible = xlSheetVisible Then
            Dim rng As Range
            Set rng = ws.Cells.SpecialCells(xlCellTypeVisible).Cells(1)
           
            Application.Goto rng, True
        End If
    Next
    

    【讨论】:

    • 我知道这是几个月前的事,但由于某种原因,我遇到了错误,代码正在清除每个选项卡上单元格 A1 中的数据。该代码在所有选项卡向上滚动到最左上角位置的意义上非常有效,如果有任何冻结的单元格或表格或者没有冻结的单元格或表格并返回到所需的选项卡,则向上滚动并返回所需的选项卡,但单元格 A1 中的数据并不理想正在被清除。我想知道你是否在这里看到任何会导致这种情况的东西。谢谢。我更新了上面的代码
    • 嗯。我没有看到任何会导致这种行为的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多