Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

Требуется макрос, дабавляющий строки в таблицу снизу

Автор Ярослав Игоревич, 14.02.2013, 14:36

« назад - далее »

Ярослав Игоревич

У меня проблема, два дня до конца сессии, и мне нужно написать такой макрос, времени изучать вопрос уже нет, сейчас нужен рабочий код. Я подозреваю, что код должен быть простым. Однако просто не знаю какими операторами каких объектов можно это реализовать. Синтаксис я уже понял, простые задачи, типа копировать данные из определенной строки, и вставить в другую, или подставить строку, а затем заполнить её данными, это я понял как делается, и без записи макроса.
Но препод требует что бы обновляемые данные (как, например, при создании заказа, когда указывается пользователь, товар, количество, сумма, скидка, доставка) заполнялись вниз таблицы, строки соответствующим образом нумеровались, и разумеется, что бы заполнять можно было бесконечно, и таблица бесконечно росла, при желании. И вот тут без программирования ни как не заставить excel.
Поэтому прошу помощи, времени минимум, а сделать надо. Файл со всеми данными прилагаю.

cheshiki1

Cells(Rows.Count,1).End(xlUp).Row находит последнюю заполненную в первом столбце.
Range ("B"&Cells(Rows.Count,1).End(xlUp).Row+1) можно так

Ярослав Игоревич

Я реализовал это несколько иначе: ActiveSheet.Range("c21").End(xlDown).Offset(1, 0).Select
Однако, не знаю я, как нумерацию сделать, что б первой ячейке значение давалось 1, нижней 2, и т.д.
Так как над самой первой ячейкой стоит №, то использовать формулу "Верхняя ячейка + 1" уже нельзя. Кстати, подскажете, как эту формулу на данном языке записать?

Wasilic

#3
Как пример для решения задачи.

PS. К стати, зная с какой строки начнется первая запись (в примере с 23-й) порядковый номер можно указать проще- вместо условий If - else - endif написать - Range("B" & PS) = PS - 22

Может и я на что сгожусь ... Если сгодился, можете меня по+благодарить+.