Как использовать пользовательскую форму vba, чтобы переключить функцию для столбца? - PullRequest
0 голосов
/ 01 ноября 2018

Как бы вы тогда пошли о скрытии / скрытии столбцов отдельно? От столбцов C к M. Это то, что я использовал для скрытия / отображения скрытых строк с помощью переключателей.

Private Sub togbHAZOP_Click()
If togbHAZOP.Value = True Then
    Sheets("Updated Hours EST").Rows("5:26").EntireRow.Hidden = True
Else
    Sheets("Updated Hours EST").Rows("5:26").EntireRow.Hidden = False
End If

End Sub

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

У вас есть свойство Boolean, назначаемое противоположным логическим значениям в противоположных ветвях условного выражения, включающего свойство Boolean. Другими словами:

If {bool} Then
    foo = True
Else
    foo = False
End If

Нет необходимости в условном выражении.

Sheets("Updated Hours EST").Rows("5:26").Hidden = togbHAZOP.Value

Чтобы переключить видимость столбцов, используйте .Columns вместо .Rows и адрес диапазона, который представляет столбцы вместо строк.

Sheets("Updated Hours EST").Columns("C:M").Hidden = togbHAZOP.Value

Если вы хотите, чтобы они были «отделены», тогда сделайте их отделенными ..

Sheets("Updated Hours EST").Columns("C:C").Hidden = toggleForColumnC.Value
Sheets("Updated Hours EST").Columns("D:D").Hidden = toggleForColumnD.Value
Sheets("Updated Hours EST").Columns("E:E").Hidden = toggleForColumnE.Value
...
0 голосов
/ 01 ноября 2018

Для каждого переключателя (togC, togB, ... togM) это будет выглядеть следующим образом

Private Sub togC_Click()
    Sheets("Updated Hours EST").Columns("C").Hidden = togC.Value
End If

...

Private Sub togD_Click()
    Sheets("Updated Hours EST").Columns("D").Hidden = togD.Value
End If

...

и т.д.

...