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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос заполненных ячеек на другой лист этой же книги - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос заполненных ячеек на другой лист этой же книги (Макросы/Sub)
Перенос заполненных ячеек на другой лист этой же книги
Controler Дата: Понедельник, 14.03.2016, 07:52 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Всем добрый день!

Помогите с макросом, для переноса заполненных ячеек на другой лист этой же книги. Причем заполненных строк может быть она или несколько.
Вот пример моего макроса:

[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]
К сообщению приложен файл: 2192281.xls(76Kb)
 
Ответить
СообщениеВсем добрый день!

Помогите с макросом, для переноса заполненных ячеек на другой лист этой же книги. Причем заполненных строк может быть она или несколько.
Вот пример моего макроса:

[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
Дата добавления - 14.03.2016 в 07:52
KuklP Дата: Понедельник, 14.03.2016, 08:30 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2005
Репутация: 436 ±
Замечаний: 0% ±

[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
[/vba]


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение[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
[/vba]

Автор - KuklP
Дата добавления - 14.03.2016 в 08:30
Controler Дата: Понедельник, 14.03.2016, 08:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
цитата удалена

С этим макросом данные копируются на другой лист, но при этом стирается 1 строка названием столбцов, и следующая вставка ячеек происходит со второй строки, надо чтобы данные вносились после последней заполненной строки, при этом оставался заголов 1 строки с названиями столбцов
[moder]
Не надо цитировать посты целиком, это нарушение Правил форума.[/moder]
 
Ответить
Сообщениецитата удалена

С этим макросом данные копируются на другой лист, но при этом стирается 1 строка названием столбцов, и следующая вставка ячеек происходит со второй строки, надо чтобы данные вносились после последней заполненной строки, при этом оставался заголов 1 строки с названиями столбцов
[moder]
Не надо цитировать посты целиком, это нарушение Правил форума.[/moder]

Автор - Controler
Дата добавления - 14.03.2016 в 08:56
KuklP Дата: Понедельник, 14.03.2016, 09:45 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2005
Репутация: 436 ±
Замечаний: 0% ±

В Вашем файе-примере НЕТ данных. Вот заполните таблицы данными, попробуйте, а потом уж сюда, если что не так. И с файлом с данными. Мне не настолько нечего делать, чтоб рисовать за вас примеры.


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВ Вашем файе-примере НЕТ данных. Вот заполните таблицы данными, попробуйте, а потом уж сюда, если что не так. И с файлом с данными. Мне не настолько нечего делать, чтоб рисовать за вас примеры.

Автор - KuklP
Дата добавления - 14.03.2016 в 09:45
Controler Дата: Понедельник, 14.03.2016, 10:47 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Вот пример с данными, нужно только нажать кнопку внести в базу и посмотреть как данные запишутся в другой лист.
К сообщению приложен файл: 0258731.xls(82Kb)
 
Ответить
СообщениеВот пример с данными, нужно только нажать кнопку внести в базу и посмотреть как данные запишутся в другой лист.

Автор - Controler
Дата добавления - 14.03.2016 в 10:47
KuklP Дата: Понедельник, 14.03.2016, 10:58 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2005
Репутация: 436 ±
Замечаний: 0% ±

И что не так? Попробовал - все внеслось, записалось, скопировалось и очистилось. Заголовки нетронуты. В Вашем макросе кстати будет затираться последняя строка в Отчет за 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]


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
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]

Автор - KuklP
Дата добавления - 14.03.2016 в 10:58
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос заполненных ячеек на другой лист этой же книги (Макросы/Sub)
Страница 1 из 11
Поиск:

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