选择在每个工作表中冻结窗格的单元格

时间:2018-06-28 09:41:27

标签: excel excel-vba vba

我使用以下VBA在不同的工作表中选择一个单元格:

Sub Positioning()
Sheet1.Select
Range("B2").Select
Sheet2.Select
Range("B2").Select
End Sub

您现在可以看到,我在每个工作表中手动选择单元格B2 。 所有这些都很好。


现在我冻结窗格在两个工作表中的不同断点处

Sheet 1: Freezing Panes at Cell D5
Sheet 2: Freezing Panes at Cell C3

如何更改我的VBA代码,以便它自动检测窗格冻结在哪个单元格中,然后准确选择该单元格?

1 个答案:

答案 0 :(得分:0)

尝试使用以下内容

Sub SelectTopofFreezePane()
    With ActiveWindow
        If .SplitRow > 0 Or .SplitColumn > 0 Then
            ActiveSheet.Cells(.SplitRow + 1, .SplitColumn + 1).Select
        End If
    End With
End Sub

评论后更新

要在每个工作表上执行此操作,请循环浏览工作簿中的工作表并激活每个工作表。您可以使用Application.ScreenUpdating = False

停止向用户显示此信息
Sub SelectTopofFreezePane()
    Dim ws As Worksheet

    Application.ScreenUpdating = False

    With ActiveWindow
        For Each ws In ThisWorkbook.Sheets
            ws.Activate
            If .SplitRow > 0 Or .SplitColumn > 0 Then
                ws.Cells(.SplitRow + 1, .SplitColumn + 1).Select
            End If
        Next ws
    End With
End Sub