Добрый день!
Написал макрос и привязал его к выпадающему списку на скрытие строк по условию:
если в определенной ячейке меняются значения 1, то нужно скрывать строки, а если значение 2 то раскрывать их.
Но скрываемые строки фиксированы, и при добавлении строк выше 63 макрос не работает.
Думал присвоить значение диапазону ячеек под тип "ActiveSheet.Range("NP").Interior.Color = vbGreen" где можно закрасить названный диапазон, но так не работает.
подскажите как победить ?
заранее спасибо!
Sub Макрос1()
If Cells(6, 110).Value = 1 Then
Rows("63:67").Hidden = True
Else
Rows("63:67").Hidden = False
End If
End Sub
Какие строки надо скрывать?
Как мне понять, с какой по какую строку надо скрывать?
5 строк в данный момент они 63:67, но при добавлении строк свыше 63ей строки соответственно эти 5 строк уходят еще ниже и макрос перестает работать
Всё время нужно скрывать только пять строк: не меньше, не больше?
да скрывать только 5 определенных строк
Чтобы отслеживать перемещение заданного диапазона, можно ему назначить имя и затем это имя можно указать в коде макроса. При добавлении / удалении строк за пределами этого имени, диапазон имени не меняется.
Имя можно назначить так: выделите строки, которые надо скрывать, в поле Адрес (оно находится слева от строки формул) напечатайте без пробела какой-нибудь текст, например: ДляСкрытия.
Затем в коде это имя можно использовать так:
Sub Макрос1()
If Cells(1, 1).Value = 1 Then
Range("ДляСкрытия").EntireRow.Hidden = True
Else
Range("ДляСкрытия").EntireRow.Hidden = False
End If
End Sub
я что-то под тип такого же начал делать
Dim j As Integer
Dim k As String
' присвоил имя ячейке Hiddenk и скрывать 5 строк ниже нее
j = Range("HiddenK").Row
k = CStr(j) + ":" + CStr(j + 5)
If Cells(6, 110).Value = 1 Then
Rows(k).Hidden = True
Else
Rows(k).Hidden = False
End If
Вам моё предложение подошло или вопрос до конца не решён?
Вопрос решен. Тему можно закрывать. Спасибо большое!