2015-02-04 4 views
0

Я составляю таблицу планирования с различными макросами, которые применяются к определенным диапазонам. В настоящее время лист настроен на то, где в большинстве дней должно быть достаточно строк, но иногда может потребоваться больше.Учет VBA для вставленных строк

В настоящее время, когда строка добавляется (или удаляется), макрос не учитывает это, и диапазон остается таким же, если это возможно, я хотел бы, чтобы он учитывал добавленные строки. Вот пример одного из моих Macros-

Sub Print1st() 

' 

' Print1st Macro 

X = Application.Dialogs(xlDialogPrinterSetup).Show 

If X = False Then Exit Sub 

Range("A1:N40").PrintOut 
Range("A4").Select 

End Sub 

Так, например, если две строки вставлены это я хотел бы, чтобы ссылаться на A1: N42, так что, когда он печатает она до сих пор печать все и не отрезав два строк. Если нет, я могу просто заблокировать пользователей от вставки строк и настроить позже, если этого недостаточно.

Спасибо за помощь!

+0

Мощь Стоит исследовать 'End (xlUp)'. – pnuts

ответ

1

можно назвать диапазон в графическом интерфейсе или в коде:

Range("A1:N40").Name = "printRange" 

Пользователь вставлен (не вставлен) строки в пределах этого диапазона будет расширить диапазон так что после добавления строки Range("printRange") теперь A1:N41