Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
28.03.2024, 17:11:24

Войти
Хотите поблагодарить участника за дельный совет? Нажмите [Повысить]. Так вы заслуженно поднимите репутацию активному участнику.
33 233 Сообщений в 5 454 Тем от 6 750 Пользователей
Последний пользователь: Alex1210
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Автопротягивание диапазона формул.
Страниц: [1]   Вниз
Печать
Автор Тема: Автопротягивание диапазона формул.  (Прочитано 4623 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Venger
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 33


Просмотр профиля E-mail
« : 14.12.2018, 15:04:32 »

Есть пример, нужно сделать автопротягивание, всего диапазона G:J по отношению к заполненому массиву данных справа K:K.
У меня получается протянуть только один столбец слева от K:K
« Последнее редактирование: 14.12.2018, 16:00:54 от vikttur » Записан
Venger
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 33


Просмотр профиля E-mail
« Ответ #1 : 14.12.2018, 15:05:24 »

Код: (vb)
Sub Auto_1()
Dim lngI As Long
Dim lngJ As Long
Sheets("Ëèñò2").Select
    lngI = Cells(Rows.Count, 10).End(xlUp).Row 'îïðåäåëÿåì ñòðîêó ïîñëåäíåé çàïîëíåííîé ÿ÷åéêè â J
    lngJ = Cells(Rows.Count, 11).End(xlUp).Row 'îïðåäåëÿåì ñòðîêó ïîñëåäíåé çàïîëíåííîé ÿ÷åéêè â K
    Range("J" & lngI).COPY Range("J" & lngI + 1 & ":J" & lngJ)
End Sub
Записан
Юрий М
Глобальный модератор
Ветеран
*****

Репутация: +112/-0
Офлайн Офлайн

Сообщений: 2 077



Просмотр профиля E-mail
« Ответ #2 : 14.12.2018, 23:29:53 »

Копируйте код при русской раскладке клавиатуры - не будет проблем с кириллицей.
Записан
Venger
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 33


Просмотр профиля E-mail
« Ответ #3 : 15.12.2018, 21:13:13 »

Код: (vb)
ub Auto_1()  
Dim lngI As Long 
Dim lngJ As Long 
Sheets("Лист2").Select 
    lngI = Cells(Rows.Count, 10).End(xlUp).Row     
    lngJ = Cells(Rows.Count, 11).End(xlUp).Row
    Range("J" & lngI).COPY Range("J" & lngI + 1 & ":J" & lngJ) 
End Sub 
Записан
sboy
Постоялец
***

Репутация: +27/-0
Офлайн Офлайн

Сообщений: 207


Просмотр профиля E-mail
« Ответ #4 : 17.12.2018, 11:17:06 »

Добрый день.
Код: (vb)
Sub Auto_1()
Dim lngI As Long
Dim lngJ As Long
Sheets("Лист2").Select
    lngI = Cells(Rows.Count, 10).End(xlUp).Row 'определяем строку последней заполненной ячейки в J
    lngJ = Cells(Rows.Count, 11).End(xlUp).Row 'определяем строку последней заполненной ячейки в K
    Range("G" & lngI + 1 & ":J" & lngJ) = Range("G" & lngI & ":J" & lngI).Value
End Sub
Записан
Venger
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 33


Просмотр профиля E-mail
« Ответ #5 : 17.12.2018, 15:34:33 »

"Sboy" большое спасибо за помощь!  Улыбка
Записан
boa
Старожил
****

Репутация: +22/-0
Офлайн Офлайн

Сообщений: 252


Доброта спасет мир...


Просмотр профиля WWW
« Ответ #6 : 17.12.2018, 16:18:55 »

Еще можно использовать автозаполнение, всё равно как «растягивание» ячеек пользователем.
Второй диапазон должен включать первый, а второй, необязательный параметр, указывает тип автозаполнения.
Код: (vb)
Sub Auto_1()
Dim lngI As Long
Dim lngJ As Long
With Sheets("Лист2")
    lngI = .Cells(.Rows.Count, 10).End(xlUp).Row 'определяем строку последней заполненной ячейки в J
    lngJ = .Cells(.Rows.Count, 11).End(xlUp).Row 'определяем строку последней заполненной ячейки в K
    .Range("G" & lngI & ":J" & lngI).AutoFill .Range("G" & lngI & ":J" & lngJ), xlFillValues
End With
End Sub
Записан

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

sboy
Постоялец
***

Репутация: +27/-0
Офлайн Офлайн

Сообщений: 207


Просмотр профиля E-mail
« Ответ #7 : 18.12.2018, 09:34:25 »

Еще можно использовать автозаполнение
Очень не оптимальный метод. Сделайте тест на заполнение всех строк листа, и, как говорится, почувствуйте разницу. Автозаполнение в разы будет дольше отрабатывать
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru