ПОСЛЕДНЯЯ ПОЧТА БЫЛА УДАЛЕНА - "БЫЛ ДОПРОШЕНО" - ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ ВСЕ ВСЕ :)

В основном у меня есть большая таблица (500 строк), и мне нужно только показать количество строк на основе значения в определенной ячейке (если значение в этой ячейке равно 123, то отображаются только верхние 123 строки). Вот картинка из верхних 25 строк таблицы

Я хочу сделать это без написания 500 «если» таких утверждений:

Private Sub PG1(ByVal Target As Range)
  If .Range("A1").Value = "123" Then
    Rows("124:500").EntireRow.Hidden = True
  End If
  If .Range("A1").Value = "124" Then
    Rows("125:500").EntireRow.Hidden = True
  End If
End Sub

Спасибо!

2 ответа2

0
Private Sub PG1(ByVal Target As Range)
    .Range("A" & .Range("A1").Value & ":A500").EntireRow.Hidden = True
End Sub
0

Это должно работать. Вы называете это с помощью t() технически. Я не знаю, для чего вам нужна целевая ссылка, но это сработало для меня.

Sub t()
PG1 (Worksheets("Sheet1").Range("A1"))
End Sub

Private Sub PG1(ByVal target As Range)
' Why do you need `target` at all?
Dim lastRow As Long
With Worksheets("Sheet1") ' CHANGE AS NEEDED
    lastRow = .Range("A1").Value
    .Range("A1:A" & lastRow).EntireRow.Hidden = False
    .Range("A" & lastRow + 1 & ":A500").EntireRow.Hidden = True
End With
End Sub

Это также не относительно, это предполагает, что ваша таблица буквально в строках 1:500 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .