1 Вопрос: Как определить длину конкретного массива

вопрос создан в Wed, May 8, 2019 12:00 AM

Определите длину определенного массива. Пробовал несколько вариантов значения, но не радость.

В макросе, который я пробовал:

Range("BB4").Select
Selection.Copy
Range("BB5").Select
Range("BB5:BB4804").Select
ActiveSheet.Paste

Мне нужен UBound BB, который может варьироваться и не вставляться в определенное значение, например BB4804.

Показанный код работает, но если длина массива (столбец BB) меньше или равна 4804. Но если он увеличивается, более длинные ячейки удаляются.

    
0
  1. Можете ли вы показать нам свой полный код, где вы захватываете столбец BB в виде массива? Под столбцом вы подразумеваете только непустые значения? Требуется больше описания.
    2019-05-08 16: 07: 18Z
1 ответ                              1                         

Если я правильно понимаю, вам нужна последняя строка столбца BB. Для этого вы можете использовать .End(xlUp).Row. В вашем коде это будет выглядеть так:

LastRow = Range("BB" & Rows.Count).End(xlUp).Row
Range("BB5:BB" & LastRow).Select
ActiveSheet.Paste
  

Примечание . Это не будет работать, если столбец полностью пуст.

Надеюсь, это поможет.

    
0
2019-05-08 19: 02: 28Z
  1. Чтобы проверить это, я выполнил это ниже в Excel с колонкой A, имеющей 4804 строки. Sub test () Dim LastRow 'LastRow = Range ("A1: A" & Rows. Count) .End (xlUp) .Row Debug.Print LastRow End Sub Распечатывает 1
    2019-05-08 18: 40: 01Z
  2. @ RalphNelson Да, в коде была опечатка. Попробуйте сейчас, я проверил это, и оно должно работать.
    2019-05-08 19: 01: 51Z
  3. Да, теперь он выбирает номер последней строки. Спасибо!
    2019-05-08 19: 03: 17Z
источник размещен Вот