Я не уверен, почему мой код не работает. Он предназначен для распознавания, когда я нажимаю кнопку (говоря «Hide1») и просматриваю каждый столбец подряд за строкой, ища ячейки, которые имеют значение 1
. После этого он должен изменить кнопку, чтобы сказать «Показать 1», , Однако, когда я запускаю его, просто ничего не происходит.Сокрытие столбцов по значению ячейки
Вот макрос для Excel:
Sub Hide_columns()
Dim i As Integer
Dim j As Integer
i = 3
j = 4
Do Until i = 26
Do Until j = 54
With ActiveSheet.Cells(i, j)
If .Value = 1 Then
ActiveSheet.Columns(i).EntireColumn.Hidden = True
With ActiveSheet.Shapes(Application.Caller).TextFrame.Characters
If .Text = "Show 1" Then
.Text = "Hide 1"
ElseIf .Text = "Hide 1" Then
.Text = "Show 1"
Else
MsgBox ("VBA has gone wrong.")
Exit Sub
End If
End With
End If
End With
j = j + 1
Loop
i = i + 1
Loop
End Sub
Вы отлаживали свой код? Доходит ли она до линии и не меняет текст или даже не достигает этого? –