Стоп-панели с VBA - PullRequest
       2

Стоп-панели с VBA

0 голосов
/ 22 октября 2019

Я могу заморозить первые 2 строки и первые 4 столбца, используя:

ActiveWindow.FreezePanes = False
With ActiveWindow
    .SplitColumn = 4
    .SplitRow = 2
    End With
ActiveWindow.FreezePanes = True

Однако, похоже, это работает, только если я нахожусь на листе, который хочу заморозить. Но кнопка Command находится на другом листе, и я бы не стал ее менять. Есть ли способ указать, какой лист я хочу заморозить? Я также был бы рад замораживать все листы одинаково, если это необходимо.

Спасибо

1 Ответ

0 голосов
/ 22 октября 2019

Вы могли бы сделать что-то вроде этого ... (См. Комментарии для объяснения)

' Don't update the screen
Application.ScreenUpdating = False
Dim wb As Workbook
Dim ws As worksheet
' Change this if you aren't using the workbook your code is in
Set wb = ThisWorkbook
' Activate the workbook... otherwise you might not be able to activate the sheet
wb.Activate
' Save the current sheet
Set ws = wb.ActiveSheet
' The sheet to apply FreezePanes to
wb.Sheets("Your Sheet").Activate
With ActiveWindow
    .FreezePanes = False
    .SplitColumn = 4
    .SplitRow = 2
    .FreezePanes = True
End With
' Move back to original sheet
ws.Activate
' Update the screen again
Application.ScreenUpdating = True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...