Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Макрос для заполнения ячеек последовательно
 
Код
Sub Stol()
Dim n As Long
n = 1
Dim m As Long
m = InputBox("Какое количество чисел нужно сформировать")
ActiveCell = n
Dim oRange
Set oRange = Range(Cells(ActiveCell.Row, ActiveCell.Column), Cells(ActiveCell.Row + m - 1, ActiveCell.Column))
oRange.Formula = n
n = n + 1
End Sub
По идее макрос должен проставить все последовательно, на кол-во указных строк, но ставит только 1, в макросах не очень силен но пыхтел долго.
Да и еще по ходу столкнусь с объеденными ячейками, в них в обще ошибку выдает.
Если кто разберется хорошо в макросах и время есть подскажите. СПС
Изменено: Vasyok - 17 Апр 2015 09:44:40
 
Немного не так. Если вы присваиваете диапазону ячеек значение, то оно присваивается каждой из ячеек и n = n + 1 после этого вообще лишено смысла. Вот так можно заполнить арифметической прогрессией с шагом 1
Код
ub Stol()
Dim n As Long
n = 1
Dim m As Long
m = InputBox("Какое количество чисел нужно сформировать")
ActiveCell = n
Dim oRange
Set oRange = Range(Cells(ActiveCell.Row, ActiveCell.Column), _
Cells(ActiveCell.Row + m - 1, ActiveCell.Column))
oRange.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
        Step:=1, Trend:=False
End Sub

 
Круто прописывает, но на объеденные ругается.
Может туда как нибудь прописать       Если возможно?        
Код
Selection.Offset(1, 0).Select
Изменено: Vasyok - 17 Мар 2015 22:53:36
 
Можно чуть проще, через цикл:
Код
Sub Stol()
Dim n As Long
Dim m As Long
    m = InputBox("Какое количество чисел нужно сформировать")
        For n = 1 To m 'для n от 1 до m
            'изменяя значение строки ячейки, присваиваем ей значение n
            Cells(ActiveCell.Row + n - 1, ActiveCell.Column) = n 'для n=1 ячейка не изменится
        Next n 'следующее значение n
End Sub
Кому решение нужно - тот пример и рисует.
 
Я разобрался, и объеденные хавает
Код
Sub Прописать2()
Range("A7").Select
Dim n As Long
Dim m As Long
    m = InputBox("Какое количество маршрутов нужно сформировать")
       For n = 1 To m
        ActiveCell.FormulaR1C1 = n
        Selection.Offset(1, 0).Select
Next n
End Sub

Изменено: Vasyok - 17 Мар 2015 23:33:16
 
Цитата
Vasyok написал: объеденные хавает
Голодный, наверное, раз объедки кушает)
Страницы: 1
Читают тему (гостей: 1)