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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование последнего листа данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Копирование последнего листа данных
Santtic Дата: Понедельник, 20.07.2020, 10:33 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
Добрый день коллеги.
Недавно обнаружил, что мой файл копирует только первую заполненную форму, а макрос пытался создать что бы последний лист именно последний.
На деле это лист с формой ввода точнее таблица которая в себе содержит очень много данных и что бы оператор не вносил снова и снова "создал" макрос. Но он копирует тольуо первый лист, это уже обнаружил когда начал изучать сам его работу)
[vba]
Код
Sub Create()
Sheets("ReportBR").Cells(1, 1).Value = DateValue(Now)
Number = ActiveSheet.Range("n1").Value
Dim a$
  a = Cells(3, 3)
    Sheets("ReportBR").Select
    Sheets("ReportBR").Copy After:=Worksheets(Worksheets.Count)
    Worksheets("ReportBR").Name = Range("a5")
    ActiveSheet.Range("n1").Value = Number + 1
    'Sheets(a).Select
End Sub
[/vba]
Если обратить внимание лист "ReportBR" не имеет в столбце B данных, при копировании листа, создается копия листа с номером. Если мы введем на листе "ReportBR2" в столбце В какое то значение и нажмем кнопку для выполнения макроса, то снова создастся лист "ReportBR" и потеряются данные из столбца В. Что в свою очередь заставит оператора вводить данные вручную, это может привести к ошибке человеческого фактора.
Как подправить макрос что бы он копировал именно последний созданный лист и мя листа что бы было "ReportBR2", "ReportBR3".....и т.д.
зы. С этих листов будет другим макросом вытягиваться данные в общую таблицу, поэтому имена и структура очень важны.
Спасибо большое.
К сообщению приложен файл: 9327038.xlsx (11.2 Kb)
 
Ответить
СообщениеДобрый день коллеги.
Недавно обнаружил, что мой файл копирует только первую заполненную форму, а макрос пытался создать что бы последний лист именно последний.
На деле это лист с формой ввода точнее таблица которая в себе содержит очень много данных и что бы оператор не вносил снова и снова "создал" макрос. Но он копирует тольуо первый лист, это уже обнаружил когда начал изучать сам его работу)
[vba]
Код
Sub Create()
Sheets("ReportBR").Cells(1, 1).Value = DateValue(Now)
Number = ActiveSheet.Range("n1").Value
Dim a$
  a = Cells(3, 3)
    Sheets("ReportBR").Select
    Sheets("ReportBR").Copy After:=Worksheets(Worksheets.Count)
    Worksheets("ReportBR").Name = Range("a5")
    ActiveSheet.Range("n1").Value = Number + 1
    'Sheets(a).Select
End Sub
[/vba]
Если обратить внимание лист "ReportBR" не имеет в столбце B данных, при копировании листа, создается копия листа с номером. Если мы введем на листе "ReportBR2" в столбце В какое то значение и нажмем кнопку для выполнения макроса, то снова создастся лист "ReportBR" и потеряются данные из столбца В. Что в свою очередь заставит оператора вводить данные вручную, это может привести к ошибке человеческого фактора.
Как подправить макрос что бы он копировал именно последний созданный лист и мя листа что бы было "ReportBR2", "ReportBR3".....и т.д.
зы. С этих листов будет другим макросом вытягиваться данные в общую таблицу, поэтому имена и структура очень важны.
Спасибо большое.

Автор - Santtic
Дата добавления - 20.07.2020 в 10:33
Nic70y Дата: Понедельник, 20.07.2020, 10:40 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8999
Репутация: 2366 ±
Замечаний: 0% ±

Excel 2010
Santtic, вы зачем приложили .xlsx файл?
[vba]
Код
    Sheets(Worksheets.Count).Copy After:=Worksheets(Worksheets.Count)
[/vba]


ЮMoney 41001841029809
 
Ответить
СообщениеSanttic, вы зачем приложили .xlsx файл?
[vba]
Код
    Sheets(Worksheets.Count).Copy After:=Worksheets(Worksheets.Count)
[/vba]

Автор - Nic70y
Дата добавления - 20.07.2020 в 10:40
Santtic Дата: Понедельник, 20.07.2020, 10:44 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
вы зачем приложили .xlsx файл?

Прошу прощения, не досмотрел)
Спасибо большое за помощь hands
 
Ответить
Сообщение
вы зачем приложили .xlsx файл?

Прошу прощения, не досмотрел)
Спасибо большое за помощь hands

Автор - Santtic
Дата добавления - 20.07.2020 в 10:44
Santtic Дата: Понедельник, 20.07.2020, 12:40 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
Почему то начало писать, что "лист с таким именем существует, сменить ДА/НЕТ"
Можно подправить?
Спасибо.
К сообщению приложен файл: 1256.xlsm (22.6 Kb)
 
Ответить
СообщениеПочему то начало писать, что "лист с таким именем существует, сменить ДА/НЕТ"
Можно подправить?
Спасибо.

Автор - Santtic
Дата добавления - 20.07.2020 в 12:40
Nic70y Дата: Понедельник, 20.07.2020, 12:52 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8999
Репутация: 2366 ±
Замечаний: 0% ±

Excel 2010
это формула в диспетчере имен косячит


ЮMoney 41001841029809
 
Ответить
Сообщениеэто формула в диспетчере имен косячит

Автор - Nic70y
Дата добавления - 20.07.2020 в 12:52
Santtic Дата: Понедельник, 20.07.2020, 13:38 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 190
Репутация: 1 ±
Замечаний: 0% ±

Excel 2016
формула в диспетчере имен косячит

т.е. очистить его и все? Сейчас очистил вроде работает корректно.
 
Ответить
Сообщение
формула в диспетчере имен косячит

т.е. очистить его и все? Сейчас очистил вроде работает корректно.

Автор - Santtic
Дата добавления - 20.07.2020 в 13:38
  • Страница 1 из 1
  • 1
Поиск:

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