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

Вход

Регистрация

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

 

= Мир MS Excel/Добавление строк в таблицу снизу вверх (как исправить) - Мир MS Excel

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

Excel 2010
Здравствуйте, уважаемые знатоки Excel.
Имеется определенный файл с таблицей, которую составил в связи с производственной необходимостью, макросы были найдены в интернете и адаптированы "под себя", но есть один вопрос, ответ на который я не нашел.
Знатоки, подскажите, пожалуйста. Подробнее описал ниже.
На вкладке "Реализация и себестоимость" после нажатия кнопки "Добавить позицию в отчет" происходит добавление строки, где в ячейке А1 необходимо выбрать из справочника необходимое наименование товара.
Но добавление происходит снизу вверх, а нужно сверху вниз.
Использовался следующий код макроса:
[vba]
Код
Sub ДобСтрРеализ_Щелчок()
Application.ScreenUpdating = False ' отключает обновление экрана
Rows("10:10").Insert shift:=xlDown
Sheets("Шаблоны").Range("A6:M6").Copy
Range("A10:M10").Select
ActiveSheet.Paste
ActiveSheet.Range("B10").Select
Application.ScreenUpdating = True ' включает обратно обновление экрана
End Sub
[/vba]

Заранее спасибо тем, кто поможет.
* В файле с примером макросов нет. В оригинальном файле, который имеет расширение *.xlsm (с поддержкой макросов), они есть, но он "весит" 112 Кб
К сообщению приложен файл: 5103997.xls (50.0 Kb)


Сообщение отредактировал Account196 - Среда, 12.09.2018, 09:44
 
Ответить
СообщениеЗдравствуйте, уважаемые знатоки Excel.
Имеется определенный файл с таблицей, которую составил в связи с производственной необходимостью, макросы были найдены в интернете и адаптированы "под себя", но есть один вопрос, ответ на который я не нашел.
Знатоки, подскажите, пожалуйста. Подробнее описал ниже.
На вкладке "Реализация и себестоимость" после нажатия кнопки "Добавить позицию в отчет" происходит добавление строки, где в ячейке А1 необходимо выбрать из справочника необходимое наименование товара.
Но добавление происходит снизу вверх, а нужно сверху вниз.
Использовался следующий код макроса:
[vba]
Код
Sub ДобСтрРеализ_Щелчок()
Application.ScreenUpdating = False ' отключает обновление экрана
Rows("10:10").Insert shift:=xlDown
Sheets("Шаблоны").Range("A6:M6").Copy
Range("A10:M10").Select
ActiveSheet.Paste
ActiveSheet.Range("B10").Select
Application.ScreenUpdating = True ' включает обратно обновление экрана
End Sub
[/vba]

Заранее спасибо тем, кто поможет.
* В файле с примером макросов нет. В оригинальном файле, который имеет расширение *.xlsm (с поддержкой макросов), они есть, но он "весит" 112 Кб

Автор - Account196
Дата добавления - 11.09.2018 в 22:56
Pelena Дата: Среда, 12.09.2018, 09:08 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19181
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Account196, Ваш макрос не соответствует приложенному файлу.
Если правильно поняла, Вам надо найти последнюю заполненную строку и добавлять новые данные после неё. Так?
Тогда вместо [vba]
Код
Rows("10:10").Insert shift:=xlDown
[/vba]попробуйте написать [vba]
Код
Rows(Cells(Rows.Count, 2).End(xlUp).Row).Insert shift:=xlDown
[/vba]
Если не угадала, приложите более понятный пример
[p.s.]Чтобы файл с макросами уместился в 100 кБ пересохраните его в .xlsb или используйте архиватор[/p.s.]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеAccount196, Ваш макрос не соответствует приложенному файлу.
Если правильно поняла, Вам надо найти последнюю заполненную строку и добавлять новые данные после неё. Так?
Тогда вместо [vba]
Код
Rows("10:10").Insert shift:=xlDown
[/vba]попробуйте написать [vba]
Код
Rows(Cells(Rows.Count, 2).End(xlUp).Row).Insert shift:=xlDown
[/vba]
Если не угадала, приложите более понятный пример
[p.s.]Чтобы файл с макросами уместился в 100 кБ пересохраните его в .xlsb или используйте архиватор[/p.s.]

Автор - Pelena
Дата добавления - 12.09.2018 в 09:08
Account196 Дата: Среда, 12.09.2018, 09:27 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Если не угадала, приложите более понятный пример

Спасибо, что отозвались. Предложенный Вами вариант попробовал. Строки добавляет, но значения не сохраняет.
Подскажите, пожалуйста, а на этом форуме можно заархивировать файл, чтобы он весил менее 100 Кб и прикрепить к сообщению?
 
Ответить
Сообщение
Если не угадала, приложите более понятный пример

Спасибо, что отозвались. Предложенный Вами вариант попробовал. Строки добавляет, но значения не сохраняет.
Подскажите, пожалуйста, а на этом форуме можно заархивировать файл, чтобы он весил менее 100 Кб и прикрепить к сообщению?

Автор - Account196
Дата добавления - 12.09.2018 в 09:27
Account196 Дата: Среда, 12.09.2018, 09:30 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Чтобы файл с макросами уместился в 100 кБ пересохраните его в .xlsb или используйте архиватор

Ваш P.S. прочитал позже. Заархивировал.
К сообщению приложен файл: ___.7z (94.9 Kb)
 
Ответить
Сообщение
Чтобы файл с макросами уместился в 100 кБ пересохраните его в .xlsb или используйте архиватор

Ваш P.S. прочитал позже. Заархивировал.

Автор - Account196
Дата добавления - 12.09.2018 в 09:30
Pelena Дата: Среда, 12.09.2018, 09:44 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 19181
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Попробуйте так
К сообщению приложен файл: ___.xlsm (98.7 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПопробуйте так

Автор - Pelena
Дата добавления - 12.09.2018 в 09:44
Account196 Дата: Среда, 12.09.2018, 09:52 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Попробуйте так

Отлично! Спасибо Вам огромное. Вы - человек-волшебник. Еще раз спасибо. Теперь всё как нужно hands hands

P.S. У меня есть еще последний вопрос по этой таблице, для этого необходимо создать новую тему, чтобы не нарушать правила форума?
 
Ответить
Сообщение
Попробуйте так

Отлично! Спасибо Вам огромное. Вы - человек-волшебник. Еще раз спасибо. Теперь всё как нужно hands hands

P.S. У меня есть еще последний вопрос по этой таблице, для этого необходимо создать новую тему, чтобы не нарушать правила форума?

Автор - Account196
Дата добавления - 12.09.2018 в 09:52
Pelena Дата: Среда, 12.09.2018, 09:57 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 19181
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Если вопрос не про "Добавление строк в таблицу снизу вверх", то, конечно, новую тему
[p.s.]Приятно, что хоть кто-то прочитал правила форума[/p.s.]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЕсли вопрос не про "Добавление строк в таблицу снизу вверх", то, конечно, новую тему
[p.s.]Приятно, что хоть кто-то прочитал правила форума[/p.s.]

Автор - Pelena
Дата добавления - 12.09.2018 в 09:57
Account196 Дата: Среда, 12.09.2018, 09:59 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena, спасибо. Вас понял
 
Ответить
СообщениеPelena, спасибо. Вас понял

Автор - Account196
Дата добавления - 12.09.2018 в 09:59
Account196 Дата: Среда, 12.09.2018, 10:06 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Попробуйте так

Опппа! :o После внесения изменения в макрос, исправленный Вами, теперь строки в таблицу стали добавляться не со строки А10:М10, а со строки А2 и ниже. Я что-то сделал не так?

[vba]
Код
Sub ДобСтрРеализ_Щелчок()
Application.ScreenUpdating = False ' отключает обновление экрана
lrow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Rows(lrow).Insert shift:=xlDown
Sheets("Шаблоны").Range("A6:M6").Copy
Range("A" & lrow).Select
ActiveSheet.Paste
ActiveSheet.Range("B10").Select
Application.ScreenUpdating = True ' включает обратно обновление экрана
End Sub
[/vba]


Сообщение отредактировал Pelena - Среда, 12.09.2018, 10:10
 
Ответить
Сообщение
Попробуйте так

Опппа! :o После внесения изменения в макрос, исправленный Вами, теперь строки в таблицу стали добавляться не со строки А10:М10, а со строки А2 и ниже. Я что-то сделал не так?

[vba]
Код
Sub ДобСтрРеализ_Щелчок()
Application.ScreenUpdating = False ' отключает обновление экрана
lrow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Rows(lrow).Insert shift:=xlDown
Sheets("Шаблоны").Range("A6:M6").Copy
Range("A" & lrow).Select
ActiveSheet.Paste
ActiveSheet.Range("B10").Select
Application.ScreenUpdating = True ' включает обратно обновление экрана
End Sub
[/vba]

Автор - Account196
Дата добавления - 12.09.2018 в 10:06
Pelena Дата: Среда, 12.09.2018, 10:13 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19181
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Код надо оформлять с помощью кнопки #, а не fx. Исправила.

Давайте попробуем определять последнюю заполненную строку по второму столбцу, где есть шапка. С учётом скрытых строк исправьте так
[vba]
Код
lrow = Cells(Rows.Count, 2).End(xlUp).Row - 1
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеКод надо оформлять с помощью кнопки #, а не fx. Исправила.

Давайте попробуем определять последнюю заполненную строку по второму столбцу, где есть шапка. С учётом скрытых строк исправьте так
[vba]
Код
lrow = Cells(Rows.Count, 2).End(xlUp).Row - 1
[/vba]

Автор - Pelena
Дата добавления - 12.09.2018 в 10:13
Account196 Дата: Среда, 12.09.2018, 10:34 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena, всё шикарно получается. Я поиграл с таблицей - все работает как новые швейцарские часы :D . Спасибо Вам огромное еще раз!
 
Ответить
СообщениеPelena, всё шикарно получается. Я поиграл с таблицей - все работает как новые швейцарские часы :D . Спасибо Вам огромное еще раз!

Автор - Account196
Дата добавления - 12.09.2018 в 10:34
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Добавление строк в таблицу снизу вверх (как исправить) (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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