Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макрос Autofill - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос Autofill (Макросы Sub)
Макрос Autofill
Cudass Дата: Среда, 13.11.2013, 06:02 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день! Уже 2 день бьюсь немогу написать макрос который был протягивал формулу из столбца "E" до столбца "H" , начиная с 16 строки, до тех пор пока не упрется в пустую строку.
Есть такой момент например если в столбце E будет стоять обычное число к примеру 8000, при применении данного макроса происходит увеличение этого числа в следующих столбцах на 1 единицу (E-8000, F-8001, G-8002, H-8003 и т.д.), а если протягивать отдельно каждую строку тогда всё хорошо, получается нужен цикл, который я немогу допедрить как написать Выручайте народ =)
К сообщению приложен файл: 3507023.xlsx (31.6 Kb)


Сообщение отредактировал Cudass - Среда, 13.11.2013, 09:52
 
Ответить
СообщениеДобрый день! Уже 2 день бьюсь немогу написать макрос который был протягивал формулу из столбца "E" до столбца "H" , начиная с 16 строки, до тех пор пока не упрется в пустую строку.
Есть такой момент например если в столбце E будет стоять обычное число к примеру 8000, при применении данного макроса происходит увеличение этого числа в следующих столбцах на 1 единицу (E-8000, F-8001, G-8002, H-8003 и т.д.), а если протягивать отдельно каждую строку тогда всё хорошо, получается нужен цикл, который я немогу допедрить как написать Выручайте народ =)

Автор - Cudass
Дата добавления - 13.11.2013 в 06:02
wild_pig Дата: Среда, 13.11.2013, 08:11 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 517
Репутация: 97 ±
Замечаний: 0% ±

2003, 2013
Макрорекордер + поиск
[vba]
Код
Sub ща_как_протяну()
     Посл_строка = Cells(Rows.Count, 5).End(xlUp).Row
     Range("E16:E" & Посл_строка).AutoFill Destination:=Range("E16:H" & Посл_строка), Type:=xlFillDefault
End Sub
[/vba]
 
Ответить
СообщениеМакрорекордер + поиск
[vba]
Код
Sub ща_как_протяну()
     Посл_строка = Cells(Rows.Count, 5).End(xlUp).Row
     Range("E16:E" & Посл_строка).AutoFill Destination:=Range("E16:H" & Посл_строка), Type:=xlFillDefault
End Sub
[/vba]

Автор - wild_pig
Дата добавления - 13.11.2013 в 08:11
Cudass Дата: Среда, 13.11.2013, 09:47 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Макрорекордер + поиск

Sub ща_как_протяну()
Посл_строка = Cells(Rows.Count, 5).End(xlUp).Row
Range("E16:E" & Посл_строка).AutoFill Destination:=Range("E16:H" & Посл_строка), Type:=xlFillDefault
End Sub

спасибо, всё бы ничего но есть такой момент например если в столбце E будет стоять число к примеру 8000, при применении данного макроса происходит увеличение этого числа в следующих столбах(E-8000, F-8001, G-8002, H-8003 и т.д.), а если протягивать отдельно каждую строку тогда всё хорошо, получается нужен цикл, который я немогу допедрить как написать :)
 
Ответить
Сообщение
Макрорекордер + поиск

Sub ща_как_протяну()
Посл_строка = Cells(Rows.Count, 5).End(xlUp).Row
Range("E16:E" & Посл_строка).AutoFill Destination:=Range("E16:H" & Посл_строка), Type:=xlFillDefault
End Sub

спасибо, всё бы ничего но есть такой момент например если в столбце E будет стоять число к примеру 8000, при применении данного макроса происходит увеличение этого числа в следующих столбах(E-8000, F-8001, G-8002, H-8003 и т.д.), а если протягивать отдельно каждую строку тогда всё хорошо, получается нужен цикл, который я немогу допедрить как написать :)

Автор - Cudass
Дата добавления - 13.11.2013 в 09:47
KuklP Дата: Среда, 13.11.2013, 09:55 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Sub MyFill()
     Dim a, l&, i&
     l = Cells(Rows.Count, 5).End(xlUp).Row
     a = Range("E16:E" & l).FormulaR1C1
     For i = 6 To 8
         Range(Cells(16, i), Cells(l, i)) = a
     Next
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[vba]
Код
Sub MyFill()
     Dim a, l&, i&
     l = Cells(Rows.Count, 5).End(xlUp).Row
     a = Range("E16:E" & l).FormulaR1C1
     For i = 6 To 8
         Range(Cells(16, i), Cells(l, i)) = a
     Next
End Sub
[/vba]

Автор - KuklP
Дата добавления - 13.11.2013 в 09:55
_Boroda_ Дата: Среда, 13.11.2013, 10:03 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Еще такой вариант
[vba]
Код
Sub tt()
      Range("E16:E" & Cells(Rows.Count, 5).End(xlUp).Row).Copy
      Range("F16:H16").PasteSpecial Paste:=xlPasteFormulas
      Application.CutCopyMode = False
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЕще такой вариант
[vba]
Код
Sub tt()
      Range("E16:E" & Cells(Rows.Count, 5).End(xlUp).Row).Copy
      Range("F16:H16").PasteSpecial Paste:=xlPasteFormulas
      Application.CutCopyMode = False
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 13.11.2013 в 10:03
Cudass Дата: Среда, 13.11.2013, 10:25 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 19
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
KuklP, _Boroda_, ваши варианты оба рабочие спасибо вам огромное
wild_pig, вам также спасибо за участие !
 
Ответить
СообщениеKuklP, _Boroda_, ваши варианты оба рабочие спасибо вам огромное
wild_pig, вам также спасибо за участие !

Автор - Cudass
Дата добавления - 13.11.2013 в 10:25
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макрос Autofill (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!