Выберите ячейку, в которой панели заморожены на каждом листе - PullRequest
0 голосов
/ 28 июня 2018

Я использую следующий 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 голосов
/ 28 июня 2018

Попробуйте использовать следующее

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...