Помогите с макросом, для переноса заполненных ячеек на другой лист этой же книги. Причем заполненных строк может быть она или несколько. Вот пример моего макроса:
[vba]
Код
Sub Перенос() Sheets("Отчет за сутки).Range("A:j").SpecialCells(2).Copy Sheets("Отчет за 2016 г.").Range("A" & Rows.Count).End(xlUp) ThisWorkbook.Sheets("Отчет за сутки").Copy Sheets("Отчет за сутки").Range("a2:j10").ClearContents MsgBox ("Данные в отчет за 2016 г. внесены!") End Sub
[/vba]
У меня почему копируются ячейки с названием столбцов, а мне нужно чтобы копировались только данные [moder]Оформляйте коды тегами (кнопка #). На первый раз исправила[/moder]
Всем добрый день!
Помогите с макросом, для переноса заполненных ячеек на другой лист этой же книги. Причем заполненных строк может быть она или несколько. Вот пример моего макроса:
[vba]
Код
Sub Перенос() Sheets("Отчет за сутки).Range("A:j").SpecialCells(2).Copy Sheets("Отчет за 2016 г.").Range("A" & Rows.Count).End(xlUp) ThisWorkbook.Sheets("Отчет за сутки").Copy Sheets("Отчет за сутки").Range("a2:j10").ClearContents MsgBox ("Данные в отчет за 2016 г. внесены!") End Sub
[/vba]
У меня почему копируются ячейки с названием столбцов, а мне нужно чтобы копировались только данные [moder]Оформляйте коды тегами (кнопка #). На первый раз исправила[/moder]Controler
Sub Перенос() With ThisWorkbook.Sheets("Отчет за сутки") .Range("A2:j" & .Cells(.Rows.Count, 1).End(xlUp).Row).SpecialCells(2).Copy Sheets("Отчет за 2016 г.").Range("A" & Rows.Count).End(xlUp) .Copy .Range("A2:j" & .Cells(.Rows.Count, 1).End(xlUp).Row).ClearContents MsgBox ("Данные в отчет за 2016 г. внесены!") End With End Sub
[/vba]
[vba]
Код
Sub Перенос() With ThisWorkbook.Sheets("Отчет за сутки") .Range("A2:j" & .Cells(.Rows.Count, 1).End(xlUp).Row).SpecialCells(2).Copy Sheets("Отчет за 2016 г.").Range("A" & Rows.Count).End(xlUp) .Copy .Range("A2:j" & .Cells(.Rows.Count, 1).End(xlUp).Row).ClearContents MsgBox ("Данные в отчет за 2016 г. внесены!") End With End Sub
С этим макросом данные копируются на другой лист, но при этом стирается 1 строка названием столбцов, и следующая вставка ячеек происходит со второй строки, надо чтобы данные вносились после последней заполненной строки, при этом оставался заголов 1 строки с названиями столбцов [moder] Не надо цитировать посты целиком, это нарушение Правил форума.[/moder]
цитата удалена
С этим макросом данные копируются на другой лист, но при этом стирается 1 строка названием столбцов, и следующая вставка ячеек происходит со второй строки, надо чтобы данные вносились после последней заполненной строки, при этом оставался заголов 1 строки с названиями столбцов [moder] Не надо цитировать посты целиком, это нарушение Правил форума.[/moder]Controler
В Вашем файе-примере НЕТ данных. Вот заполните таблицы данными, попробуйте, а потом уж сюда, если что не так. И с файлом с данными. Мне не настолько нечего делать, чтоб рисовать за вас примеры.
В Вашем файе-примере НЕТ данных. Вот заполните таблицы данными, попробуйте, а потом уж сюда, если что не так. И с файлом с данными. Мне не настолько нечего делать, чтоб рисовать за вас примеры.KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
И что не так? Попробовал - все внеслось, записалось, скопировалось и очистилось. Заголовки нетронуты. В Вашем макросе кстати будет затираться последняя строка в Отчет за 2016 г. Если это не планировалось специально, то лучше: [vba]
Код
.Range("A2:j" & .Cells(.Rows.Count, 1).End(xlUp).Row).SpecialCells(2).Copy Sheets("Отчет за 2016 г.").Range("A" & Rows.Count).End(xlUp)(2)
[/vba]
И что не так? Попробовал - все внеслось, записалось, скопировалось и очистилось. Заголовки нетронуты. В Вашем макросе кстати будет затираться последняя строка в Отчет за 2016 г. Если это не планировалось специально, то лучше: [vba]
Код
.Range("A2:j" & .Cells(.Rows.Count, 1).End(xlUp).Row).SpecialCells(2).Copy Sheets("Отчет за 2016 г.").Range("A" & Rows.Count).End(xlUp)(2)