Excel vba скрыть строки со списком и ячейку с датой - PullRequest
0 голосов
/ 09 октября 2018

У меня есть две кнопки «ДОБАВИТЬ» и «СКРЫТЬ ВСЕ».Когда я нажимаю «HIDE ALL», все объекты в строках и строках 179: 187 скрываются.Когда я нажимаю «ДОБАВИТЬ», мои элементы отображаются, начиная со строки 179 и объектов в этом ряду («Выпадающий 34» и «Выпадающий 43»).В камере J179 у меня дата.Одинаковое количество данных в каждой строке 179, 180, 181 .... 187. Мне удается скрыть с помощью кнопки «Скрыть все» и показать каждую строку, шаг за шагом, отдельно с помощью кнопки «ДОБАВИТЬ», но мои комбинированные списки меняют свое расположение.Поэтому, когда я показываю, у меня огромная стрелка, указывающая вниз, и текст не виденВсе они выглядят по-разному с меньшими и большими стрелами.Я попытался скрыть объекты (поля со списком) и строки отдельно по макросам ниже.Таким образом, первые строки будут скрыты, а затем объекты, и то же самое с unhide (сначала строки, а затем объекты).Но это не помогает.Не убивай меня, если мой Макрос выглядит плохо, я не настолько профессионален в VBA.

Суббоксы SubUnhhide: Sub UnhidelanguageskillsDropBoxes ()

Static counter As Byte

    counter = (counter + 1) Mod 10

    Select Case counter
Case 1
ActiveSheet.Shapes("Drop Down 34").Visible = True
ActiveSheet.Shapes("Drop Down 43").Visible = True
Case 2
Rows("179").EntireRow.Hidden = False
ActiveSheet.Shapes("Drop Down 35").Visible = True
ActiveSheet.Shapes("Drop Down 44").Visible = True
Case 3
Rows("180").EntireRow.Hidden = False
ActiveSheet.Shapes("Drop Down 36").Visible = True
ActiveSheet.Shapes("Drop Down 45").Visible = True
Case 4
ActiveSheet.Shapes("Drop Down 37").Visible = True
ActiveSheet.Shapes("Drop Down 46").Visible = True
Case 5
ActiveSheet.Shapes("Drop Down 38").Visible = True
ActiveSheet.Shapes("Drop Down 47").Visible = True
Case 6
ActiveSheet.Shapes("Drop Down 39").Visible = True
ActiveSheet.Shapes("Drop Down 48").Visible = True
Case 7
ActiveSheet.Shapes("Drop Down 40").Visible = True
ActiveSheet.Shapes("Drop Down 49").Visible = True
Case 8
ActiveSheet.Shapes("Drop Down 41").Visible = True
ActiveSheet.Shapes("Drop Down 50").Visible = True
Case 9
ActiveSheet.Shapes("Drop Down 42").Visible = True
ActiveSheet.Shapes("Drop Down 51").Visible = True
Case 10
ActiveSheet.Shapes("Drop Down 42").Visible = True
ActiveSheet.Shapes("Drop Down 51").Visible = True
    End Select
End Sub

Строки SubUnhide:

Sub UnhidelanguageskillsRows()

Static counter As Byte

    counter = (counter + 1) Mod 8

    Select Case counter
Case 0
Rows("179").EntireRow.Hidden = False
Case 1
Rows("180").EntireRow.Hidden = False
Case 2
Rows("181").EntireRow.Hidden = False
Case 3
Rows("182").EntireRow.Hidden = False
Case 4
Rows("183").EntireRow.Hidden = False
Case 5
Rows("184").EntireRow.Hidden = False
Case 6
Rows("185").EntireRow.Hidden = False
Case 7
Rows("186").EntireRow.Hidden = False
Case 8
Rows("187").EntireRow.Hidden = False
    End Select
End Sub

Показать все вместе первые строки, а затем поля со списком:

Sub Unhidelanguageskills()
Call UnhidelanguageskillsRows
Call UnhidelanguageskillsDropBoxes
End Sub

Вспомогательные поля со списком:

Sub HidelanguageskillsDropBoxes()
ActiveSheet.Shapes("Drop Down 34").Visible = False
ActiveSheet.Shapes("Drop Down 35").Visible = False
ActiveSheet.Shapes("Drop Down 36").Visible = False
ActiveSheet.Shapes("Drop Down 37").Visible = False
ActiveSheet.Shapes("Drop Down 38").Visible = False
ActiveSheet.Shapes("Drop Down 39").Visible = False
ActiveSheet.Shapes("Drop Down 40").Visible = False
ActiveSheet.Shapes("Drop Down 41").Visible = False
ActiveSheet.Shapes("Drop Down 42").Visible = False
ActiveSheet.Shapes("Drop Down 43").Visible = False
ActiveSheet.Shapes("Drop Down 44").Visible = False
ActiveSheet.Shapes("Drop Down 45").Visible = False
ActiveSheet.Shapes("Drop Down 46").Visible = False
ActiveSheet.Shapes("Drop Down 47").Visible = False
ActiveSheet.Shapes("Drop Down 48").Visible = False
ActiveSheet.Shapes("Drop Down 49").Visible = False
ActiveSheet.Shapes("Drop Down 50").Visible = False
ActiveSheet.Shapes("Drop Down 51").Visible = False
End Sub

Вспомогательные строки:

Sub HidelanguageskillsRows()
Rows("179:187").EntireRow.Hidden = True
End Sub

Скрыть строки и поля со списком:

Sub Hidelanguageskills()
Call HidelanguageskillsRows
Call HidelanguageskillsDropBoxes
End Sub
...