range a1 select



Range cells

Автор Леонид Якубович задал вопрос в разделе Другие языки и технологии

Как средствами VBA добавить строку в таблицу Excel, но вставить так, чтобы новые ячейки были частью диапазона (Range) ? и получил лучший ответ

Ответ от Ўля Павлова[гуру]
Не поняла Ваших проблем.
Выделим диапазон вручную, меню Вставка -Имя -Присвоить (имя Diap) - Ok,
то диапазон поименуется.
Если например, ячейкам D5 и D10 присвоены имена А и В cоответственно,
а выделенный диапазон лежит в тех же строках, например Diap (В5:В10),
то при вставке кучи строк между 5-й и 10-й диапазон удлиняется,
ячейки А и В разъезжаются, можно попрежнему правильно определить сумму
от А до В или по увеличенному диапазону.
Разумеется при вставке строк вы должны в новых строках и формулы заполнить,
но это не проблема ))
Range("Diap").Select
Программно можно поименовать диапазон так:
Range("D5:D19").Select
ActiveWorkbook.Names.Add Name:="Diap", RefersToR1C1:="=Лист1!R5C4:R19C4"
А выделить так
Range("Diap").Select
При удалении нескольких строк (в пределах разумного) всё работает точно также.
На то и придуман диапазон, чтобы не возиться с конкретными адресами ячеек,
которые при работе все время изменяются и по адресации и по количеству.
Получается, что именованные ячейки или диапазоны могут плавать по Листу.
Спасибо за вопрос, я и сама час назад этого не умела ))
Юля Павлова
Гений
(63488)
' Вставка двух строк перед 7-й строкой
Rows("7:7").Select
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как средствами VBA добавить строку в таблицу Excel, но вставить так, чтобы новые ячейки были частью диапазона (Range) ?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*