Доброе время дамы и господа Простая нумерация. Искал, пытался... Для удобства уже подготовил ячейки (они константы) A22 и A23. A22 = 1, A23 =
Код
=1+R[-1]C
В столбце B уже есть заполненные данные. Длина столбца всегда разная, в прилагаемом файле с 22 по 32 строку. Итого 11 номеров. Остается выделить ячейку A23 и совершить двойной клик по маленькому чёрному квадрату внизу справа (в ячейке A23). И Excel сам пронумерует нужное количество строк и остановится в ячейке A32. А в макросе как это сделать я не знаю. Пытаюсь, но везде требуется ввод конечной ячейки. Здесь нашёл искомое, но без формулы. А мне она нужна. Найденное чуть изменил: [vba]
Код
With Sheets("12345") 'с листом "12345" lr = Cells(Rows.Count, 2).End(xlUp).Row 'определяем номер последней заполненной ячейки по 2 столбцу X = 1 'первая цифра в нумерации If lr = 4 Then Exit Sub 'если последняя строка = 4 то выход из макроса (нет позиций, только шапка) For i = 22 To lr 'проходим по всем строкам от 22 до последней Cells(i, 1) = X 'заносим номер в ячейку X = X + 1 'увеличиваем счётчик на ед. Next 'следующая ячейка End With
[/vba]
Как "протянуть" формулу до последней заполненной ячейки в столбце B?
Доброе время дамы и господа Простая нумерация. Искал, пытался... Для удобства уже подготовил ячейки (они константы) A22 и A23. A22 = 1, A23 =
Код
=1+R[-1]C
В столбце B уже есть заполненные данные. Длина столбца всегда разная, в прилагаемом файле с 22 по 32 строку. Итого 11 номеров. Остается выделить ячейку A23 и совершить двойной клик по маленькому чёрному квадрату внизу справа (в ячейке A23). И Excel сам пронумерует нужное количество строк и остановится в ячейке A32. А в макросе как это сделать я не знаю. Пытаюсь, но везде требуется ввод конечной ячейки. Здесь нашёл искомое, но без формулы. А мне она нужна. Найденное чуть изменил: [vba]
Код
With Sheets("12345") 'с листом "12345" lr = Cells(Rows.Count, 2).End(xlUp).Row 'определяем номер последней заполненной ячейки по 2 столбцу X = 1 'первая цифра в нумерации If lr = 4 Then Exit Sub 'если последняя строка = 4 то выход из макроса (нет позиций, только шапка) For i = 22 To lr 'проходим по всем строкам от 22 до последней Cells(i, 1) = X 'заносим номер в ячейку X = X + 1 'увеличиваем счётчик на ед. Next 'следующая ячейка End With
[/vba]
Как "протянуть" формулу до последней заполненной ячейки в столбце B?Yar4i
[/vba] Range("B" & Rows.Count).End(xlUp) - это мы встали в ячейку B1048576 (самую нижнюю ячейку столбца В) и нажали Контрл Енд Почему просто не написали B1048576? Потому, что в Excel 2003 (2000 и меньше) 65536 строк
[/vba] Range("B" & Rows.Count).End(xlUp) - это мы встали в ячейку B1048576 (самую нижнюю ячейку столбца В) и нажали Контрл Енд Почему просто не написали B1048576? Потому, что в Excel 2003 (2000 и меньше) 65536 строк_Boroda_
With Sheets("12345") lr = Cells(Rows.Count, 2).End(xlUp).Row X = 1 If lr = 4 Then Exit Sub Cells(22, 1) = X For i = 23 To lr Cells(i, 1).FormulaR1C1 = "=1+R[-1]C" Next End With
[/vba]
так нужно? [vba]
Код
With Sheets("12345") lr = Cells(Rows.Count, 2).End(xlUp).Row X = 1 If lr = 4 Then Exit Sub Cells(22, 1) = X For i = 23 To lr Cells(i, 1).FormulaR1C1 = "=1+R[-1]C" Next End With
я по началу не поверил, что можно так назначать) Эта штука получше шахмат - "тыщи" ходов. *** Приложил в файле готовый макрос. П.С. Утром научился кнопку добавлять.
я по началу не поверил, что можно так назначать) Эта штука получше шахмат - "тыщи" ходов. *** Приложил в файле готовый макрос. П.С. Утром научился кнопку добавлять.Yar4i