Мне интересно, есть ли способ создать именованные диапазоны с фиксированным размером (252 ячейки) из одного столбца.

У меня есть 51 156 номеров в столбце B. Я хочу, чтобы первые 252 номера (B1:B252) стали именованным диапазоном RANGE1 .

Затем я хочу, чтобы B253-B504 стал именованным диапазоном RANGE2 . И так далее.

Кто-нибудь знает способ? Обычно я просто выбираю диапазоны и набираю имя, но теперь я должен сделать это в течение ок. 200 диапазонов на листе в 25 листов.

Спасибо!

Я, возможно, сделал задачу немного проще. Теперь у меня есть в столбце C (C1:C202) имена, которым я хочу присвоить именованные диапазоны, а в столбце D ввод для массивов, как их читает меню именованных диапазонов (D1 содержит = first14!L1:L252 , D2 содержит = first14!L253:L504 и так далее).

1 ответ1

0

Вы можете сделать это с VBA. Вам нужно будет изменить константы вверху, если ваши листы не одинаковы. Он использует текущий активный лист, поэтому выберите тот, который вы хотите, прежде чем запускать макрос.

Option Explicit
Sub AddNamedRanges()
    Const NumberOfRanges As Long = 202      'How many ranges to create
    Const HeightOfRanges As Long = 252      'How tall to make each range
    Const RefersToColumn As Integer = "B"   'Which column to reference
    Dim r As Long
    For r = 1 To NumberOfRanges
        ActiveWorkbook.Names.Add "RANGE" & r, ActiveSheet.Range(RefersToColumn & (r - 1) * HeightOfRanges + 1 & ":" & RefersToColumn & r * HeightOfRanges)
    Next
End Sub

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