Страницы: 1
RSS
Как использовать полученный номер последнего столбца в Range
 
Узнаю номер последнего столбца через xltoleft.Column ... это число.
Как подставить (или какой формулой заменить), чтобы заменить L  номером последней колонки.
Код
Range("A1: L20").Copy

Собирать диапазон буду через &
 
вариант
Код
Range(Cells(1,1),Cells(20,столбец))
Range("A1").Resize(20,столбец)
Изменено: V - 23.02.2021 10:48:25
 
Range([a1],Cells(20,12))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
работайте с номерами, буквы до добра не доведут:
Код
Range("A1").Resize(20,столбец).Copy
Код
 [A1].Resize(20,столбец).Copy
Изменено: buchlotnik - 23.02.2021 10:49:12
Соблюдение правил форума не освобождает от модераторского произвола
 
Уточню задачу. Я собираю данные из нескольких файлов.
Вручную указан диапазон по  колонке.
Я хочу, чтобы при добавлении новых колонок в шаблоне пользователь не лез в макрос исправлять диапазон вручную.
Определяю максимальное кол-во столбцов и &

Со строками проще: "А" & номер строки
Как сделать сцепку с номером колонки?
Изменено: Marat Ta - 23.02.2021 10:58:17
 
Marat Ta,
поздравляю! отличное уточнение!!!
дает абсолютно полное представление о том, как найти последнюю колонку)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
хотите мучений, не вопрос
Код
split(columns(<число>).address(,0),":")(0)
По вопросам из тем форума, личку не читаю.
 
Ігор Гончаренко, мне не нужно найти последнюю колонку... формула проста и известна.

Как использовать полученный номер в формуле копирования диапазона?
Изменено: Marat Ta - 23.02.2021 11:03:21
 
[a1].resize(20,ИзвестныйНомерКолонки).Copy
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Marat Ta написал:
Как использовать полученный номер в формуле копирования диапазона?
в какой формуле? вы показали строчку кода, как ее видоизменить вам показали в #2 и  #4
Соблюдение правил форума не освобождает от модераторского произвола
 
Марат, вам уже всё объяснили. Используйте синтаксис
Код
Cells(номер_строки, номер_столбца)

Если диапазон, то
Код
Range("A1", Cells(номер_строки, номер_столбца))

Или
Код
Range (Cells(номер_строки, номер_столбца), Cells(номер_строки, номер_столбца))
 
Все получилось. Спасибо всем.

Переделал на:
Код
Range (Cells(номер_строки, номер_столбца), Cells(номер_строки, номер_столбца))
 
Цитата
Marat Ta написал:
Все получилось
так:
Код
Range (Cells(номер_строки, номер_столбца), Cells(номер_строки, номер_столбца))
получится 1 ячейка
используйте сразу:
Код
Cells(номер_строки, номер_столбца)
запись короче, а результат один и тот же
Изменено: Ігор Гончаренко - 23.02.2021 11:47:02
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, в диапазоне более одной ячейки нужно копировать.
Возникла проблема:
Код
LastCol=Cells(2, Columns.Count).End(xlToLeft).Column 

Возвращает 0.
2 строка 12 колонок...
Определение последней строки работает корректно.
 
LastCol=Cells(2, Columns.Count).End(xlToLeft).Column у вас по второй строчке определяется, а там и пустоты и объединения.
 
Marat Ta, у Вас разные переменные LC1  LС1 -  найди разницу =)))
а еще ищете в первой строке) как выше уже показали
Не бойтесь совершенства. Вам его не достичь.
 
В общем вот тема для изучения
 
Mershik, точно. Русская C вместо английской. И пустые ячейки во 2 строке.
Спасибо всем.
Изменено: Marat Ta - 23.02.2021 12:37:26
Страницы: 1
Наверх