Добрый день! Уже 2 день бьюсь немогу написать макрос который был протягивал формулу из столбца "E" до столбца "H" , начиная с 16 строки, до тех пор пока не упрется в пустую строку. Есть такой момент например если в столбце E будет стоять обычное число к примеру 8000, при применении данного макроса происходит увеличение этого числа в следующих столбцах на 1 единицу (E-8000, F-8001, G-8002, H-8003 и т.д.), а если протягивать отдельно каждую строку тогда всё хорошо, получается нужен цикл, который я немогу допедрить как написать Выручайте народ =)
Добрый день! Уже 2 день бьюсь немогу написать макрос который был протягивал формулу из столбца "E" до столбца "H" , начиная с 16 строки, до тех пор пока не упрется в пустую строку. Есть такой момент например если в столбце E будет стоять обычное число к примеру 8000, при применении данного макроса происходит увеличение этого числа в следующих столбцах на 1 единицу (E-8000, F-8001, G-8002, H-8003 и т.д.), а если протягивать отдельно каждую строку тогда всё хорошо, получается нужен цикл, который я немогу допедрить как написать Выручайте народ =)Cudass
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
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
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]
[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
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]
Еще такой вариант [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