Спростіть іменування діапазону - Поради Excel

Джек запитує:

Я створюю таблиці, однакову кількість стовпців, але кожного разу різну кількість рядків. Я без проблем можу визначити останній рядок і останній стовпець, щоб зробити необхідні обчислення в макросі. Тепер мета - додати в цей макрос можливість називати таблицю (щоразу з однаковою назвою), але в макросі діапазон комірок, пов’язаний з робочим листом, - R1C1: RxCy, я не знаю, як написати діапазон використання значень lastrow і lastcolumn (які представляють останній стовпець і рядок таблиці) із системою RC (я навіть не знаю, чи можливо).

Більшість програмістів VBA застосовують такий метод, який використовує метод Names.Add.

Sub Method1() LastRow = Cells(65536, 1).end(xlUp).row LastCol = Cells(1, 255).End(xlToLeft).column MyArea = "='" & ActiveSheet.Name & "'!R1C1:R" & LastRow & "C" & LastCol ActiveWorkbook.Names.Add Name:="TheData", RefersToR1C1:=MyArea End Sub

Існує простіший спосіб присвоєння імені діапазону. Усі наступні чотири твердження еквівалентні. Останні два значно простіші:

ActiveWorkbook.Names.Add Name:="TheData", RefersToR1C1:="=Sheet1!R1C1:R10C5" ActiveWorkbook.Names.Add Name:="TheData", RefersTo:="=Sheet1!A1:E10" Range("A1:E10").Name = "TheData" Cells(1, 1).Resize(10, 5).Name = "TheData"

Jac - я б адаптував останній рядок для використання:

Sub Method2() LastRow = Cells(65536, 1).end(xlUp).row LastCol = Cells(1, 255).End(xlToLeft).column Cells(1, 1).Resize(LastRow, LastCol).Name = "TheData" End Sub

Я дізнався цей ярлик для присвоєння імен діапазонів з довідника програміста VBA в програмі Excel 2002 від Bovey & Bullen. Версія цієї книги від 2002 року обговорює версію 2000 року. За мої гроші будь-якому програмісту Excel VBA потрібна ця книга праворуч. Моя копія вухата і ніколи недосяжна.

Цікаві статті...