Макрос VBA Excel: используйте Range для работы с другим листом - PullRequest
0 голосов
/ 17 апреля 2010

Я очень новичок в программировании на VBA.

У меня есть макрос, который скрывает или показывает столбцы на основе значения в одной ячейке:

Sub HideColumnsMacro()
 Range("b8:o8").EntireColumn.Hidden = False
 v1 = Range("b2").Value + 1
 If v1 < 12 Then
  With Range("b8")
   Range(.Offset(0,v1), .Offset(0, 12)).EntireColumn.Hidden = True
  End With
 End If
End Sub

Я хочу получить такую ​​же функциональность, когда меняю ячейку на другом листе. Можно ли как-то сказать этому макросу действовать на этом листе, если он запускается с другого листа?

Ответы [ 2 ]

5 голосов
/ 17 апреля 2010

В вашем макросе укажите точный лист:

Sheets("Sheet1").Range("b8:o8").EntireColumn.Hidden = False
2 голосов
/ 17 апреля 2010

Укажите ваши Range s с названием рабочего листа:

Sheet1.Range("b8:o8").EntireColumn.Hidden = False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...