Добрый вечер! После серии самостоятельных побед над VBA... Не могу решить очередную ситуацию на листе... Как сделать так, чтобы при нажатии на одну и ту же кнопку выполнялся сначала Hide, потом Show
Нажал - выполнился Hide Нажал - выполнился Show
Причем после нажатия Hide название Кнопки менялось на Show После очередного нажатия на Hide
Подскажите, пожалуйста, как это сделать??? Особенно первую часть. Код в модуле листа.
Файл приложил.
Добрый вечер! После серии самостоятельных побед над VBA... Не могу решить очередную ситуацию на листе... Как сделать так, чтобы при нажатии на одну и ту же кнопку выполнялся сначала Hide, потом Show
Нажал - выполнился Hide Нажал - выполнился Show
Причем после нажатия Hide название Кнопки менялось на Show После очередного нажатия на Hide
Подскажите, пожалуйста, как это сделать??? Особенно первую часть. Код в модуле листа.
при нажатии на одну и ту же кнопку выполнялся сначала Hide, потом Show
Нужна какая-то метка. Например, можно проверять, скрыт ли последний столбец. Если скрыт, то открываем, если открыт, то скрываем. А в совокупности со второй частью вообще все просто - считываем название кнопки и делаем то, что на ней написано [vba]
Код
Private Sub CommandButton1_Click() Application.ScreenUpdating = 0 Application.Calculation = xlCalculationManual If CommandButton1.Caption = "Hide" Then col_ = Cells.Find(What:=Date + 2, After:=ActiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Column Cells(1, col_).Resize(1, Columns.Count - col_ + 1).EntireColumn.Hidden = True CommandButton1.Caption = "Show" Else Columns.EntireColumn.Hidden = False CommandButton1.Caption = "Hide" End If Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = 0 End Sub
[/vba] Только зря Вы скрываете все столбцы правее - это тормозит Excel, да и открываются они долго
при нажатии на одну и ту же кнопку выполнялся сначала Hide, потом Show
Нужна какая-то метка. Например, можно проверять, скрыт ли последний столбец. Если скрыт, то открываем, если открыт, то скрываем. А в совокупности со второй частью вообще все просто - считываем название кнопки и делаем то, что на ней написано [vba]
Код
Private Sub CommandButton1_Click() Application.ScreenUpdating = 0 Application.Calculation = xlCalculationManual If CommandButton1.Caption = "Hide" Then col_ = Cells.Find(What:=Date + 2, After:=ActiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Column Cells(1, col_).Resize(1, Columns.Count - col_ + 1).EntireColumn.Hidden = True CommandButton1.Caption = "Show" Else Columns.EntireColumn.Hidden = False CommandButton1.Caption = "Hide" End If Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = 0 End Sub
[/vba] Только зря Вы скрываете все столбцы правее - это тормозит Excel, да и открываются они долго_Boroda_