Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2016, 17:04   #1
Иван Мантров
Новичок
Джуниор
 
Регистрация: 06.08.2016
Сообщений: 2
По умолчанию Как вставить формулу в координаты ячейки

Привет! У меня есть простенький код:

Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D10")

Но автозаполнение возможно должно будет происходить до 11-го, 15-го или любого другого ряда, в зависимости от количества заполненных ячеек в столбце слева.
Можно ли вместо D10 поставить переменное значение. Что-то типа формулы =счетз(C:C)
Иван Мантров вне форума Ответить с цитированием
Старый 06.08.2016, 17:15   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D"&COUNTA(C:C))
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 06.08.2016, 17:23   #3
Иван Мантров
Новичок
Джуниор
 
Регистрация: 06.08.2016
Сообщений: 2
По умолчанию

Попробовал. Пишет: Syntax Error
Иван Мантров вне форума Ответить с цитированием
Старый 06.08.2016, 20:22   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Если :
1) ячейки в столбце C заполнены, начиная с C1
2) между первой и последней заполненной ячейкой нет пустых
3) используется стиль ссылок A1

то тогда можно :

Код:
Range("D2").AutoFill Destination:=Range("D2:D" & [COUNTA(C:C)])
В противном случае :

Код:
Range("D2").AutoFill Range("D2:D" & Cells(Rows.Count, 3).End(xlUp).Row)
или

Код:
Range("D2:D" & Cells(Rows.Count, 3).End(xlUp).Row) = Range("D2").Formula
pashulka вне форума Ответить с цитированием
Старый 06.08.2016, 20:22   #5
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
Dim rng As String
Range("D2").Select
rng = "D2:D" & WorksheetFunction.CountA("C1:C500")
Selection.AutoFill Destination:=Range(rng)
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 06.08.2016, 20:42   #6
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

На самом деле, Range можно использовать как evaluator

Код:
Range("D2").AutoFill Range("D2:INDEX(D:D,COUNTA(C:C))")
Но тоже самое, можно сделать и без него

Код:
[D2].AutoFill [D2:INDEX(D:D,COUNTA(C:C))]

Последний раз редактировалось pashulka; 06.08.2016 в 20:46.
pashulka вне форума Ответить с цитированием
Старый 06.08.2016, 23:22   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

возможно все...
если понимать где данные и что с ними может происходить
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить координаты ячейки внутри функции вызываемой как формула из ячейки? RISagitov Microsoft Office Excel 3 07.03.2013 19:45
Как вставить связанный объект visio, с именем файла из ячейки, используя формулу . difuzor Microsoft Office Excel 0 18.02.2012 10:16
Как вставить формулу? Maryver Microsoft Office Excel 5 08.03.2011 12:31
как вставить формулу в vba Ilya_L Microsoft Office Excel 6 18.06.2010 09:10
Вставить значение ячейки в формулу jungo Microsoft Office Excel 2 12.08.2008 15:32