Помогите решить такую задачу... Имеется таблица (умная) на листе 1 (название листа является датой) в таблице периодически добавляются либо убираются строки. Внимание вопрос: как сделать так, чтоб при нажатии на кнопку (наверное макрос), при завершении заполнения таблицы, создавался новый лист с названием следующей даты месяца, переносом на него такой же таблицы (пустой) и данных с первых трёх столбцов уже заполненной. Надеюсь на вашу помощь
Помогите решить такую задачу... Имеется таблица (умная) на листе 1 (название листа является датой) в таблице периодически добавляются либо убираются строки. Внимание вопрос: как сделать так, чтоб при нажатии на кнопку (наверное макрос), при завершении заполнения таблицы, создавался новый лист с названием следующей даты месяца, переносом на него такой же таблицы (пустой) и данных с первых трёх столбцов уже заполненной. Надеюсь на вашу помощьslipmaxim
Да, именно то, что нужно, огромное спасибо!!!! Извините за наглость, но возможно ли к этой кнопке привязать ещё перенос в 4 столбец нового листа данных из последнего столбца текущего?
Да, именно то, что нужно, огромное спасибо!!!! Извините за наглость, но возможно ли к этой кнопке привязать ещё перенос в 4 столбец нового листа данных из последнего столбца текущего?slipmaxim
_Igor_61, Да, именно то, что нужно, огромное спасибо!!!! Извините за наглость, но возможно ли к этой кнопке привязать ещё перенос в 4 столбец нового листа данных из последнего столбца текущего? А так же при нажатии на кнопку не переносятся формулы...
_Igor_61, Да, именно то, что нужно, огромное спасибо!!!! Извините за наглость, но возможно ли к этой кнопке привязать ещё перенос в 4 столбец нового листа данных из последнего столбца текущего? А так же при нажатии на кнопку не переносятся формулы...slipmaxim
slipmaxim, Чуть подправил макрос от _Igor_61 Проверяйте. [vba]
Код
Option Explicit
Sub New_Sheets() Dim iName_ As String Dim sh As Worksheet Dim x Dim lr Set sh = ActiveSheet iName_ = CDate(sh.Name) + 1 lr = Cells(Rows.Count, 1).End(xlUp).Row x = Range("AB5:AB" & lr).Value sh.Copy After:=Sheets(sh.Index) ActiveSheet.Name = iName_ Range("D5:D" & lr).Value = x Range("E5:AB" & lr).ClearContents End Sub
[/vba]
slipmaxim, Чуть подправил макрос от _Igor_61 Проверяйте. [vba]
Код
Option Explicit
Sub New_Sheets() Dim iName_ As String Dim sh As Worksheet Dim x Dim lr Set sh = ActiveSheet iName_ = CDate(sh.Name) + 1 lr = Cells(Rows.Count, 1).End(xlUp).Row x = Range("AB5:AB" & lr).Value sh.Copy After:=Sheets(sh.Index) ActiveSheet.Name = iName_ Range("D5:D" & lr).Value = x Range("E5:AB" & lr).ClearContents End Sub