Страницы: 1
RSS
Поиск и вставкой после последней заполненной ячейки
 
Помогите, пожалуйста, разобраться.
Есть 2 книги, одна исходник - переменная Homebook, итоговая книга- переменная Finalbook
Макрос написала, чтобы из рэнджа в исходнике (2 диапазона), копировались и вставлялись данные в 7 и 9 столбец итоговой книги.

Все работает, но вставляет криво:
1) не убирает пропущенные пустые ячейки из диапазоне из исходника
2) в 9 столбец вставляет со сдвигом относительно 7, а должно быть на одинаковом уровне
Код
Sub Копирование()
Dim HomeBook As Workbook
Dim FinalBook As Workbook
Set HomeBook = ActiveWorkbook
Set FinalBook = Workbooks.Open("F:\4-Личные папки\Петрищева\База.xlsx")
HomeBook.Worksheets("Итоговый отчет по выезду").Range("B13:B20").Copy
Sheets("Единая база проблематики РФ").Cells(Sheets("Единая база проблематики РФ").Cells.SpecialCells(xlCellTypeLastCell).Cells(0, 1).Row, 7).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone
HomeBook.Worksheets("Итоговый отчет по выезду").Range("B25:B33").Copy
Sheets("Единая база проблематики РФ").Cells(Sheets("Единая база проблематики РФ").Cells.SpecialCells(xlCellTypeLastCell).Cells(0, 1).Row, 9).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone
End Sub

Помогите, пожалуйста, что поправить надо?
Я новичок, учусь сама по инету. Искала причину, но не могу врубиться, где подкорректировать
 
Ксения Петрищева,
1. https://vremya-ne-zhdet.ru/vba-excel/nomer-posledney-zapolnennoy-stroki/
2. https://excelpedia.ru/makrosi-v-excel/kak-najti-poslednyuyu-stroku-stolbec-vba
Не бойтесь совершенства. Вам его не достичь.
 
Вот эти источники и гуглила( Но не соображу все равно.
Видимо, еще придется посидеть...
 
Ксения Петрищева, ну просто ваш макрос ссылается на файлы которых нет и создавать новые что бы проверить работу вашего  мне допустим лень, Может кто-то сейчас подойдет и поймет только из макроса что нУжно сделать, подождите.

в какую книгу копируете?
Цитата
Sheets("Единая база проблематики РФ").Cells(Sheets("Единая база проблематики РФ").Cells.SpecialCells(xlCellTypeLastCell).Cells(0, 1).Row, 7).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone
попробуйте  заменить 6-11 строки на:
Код
Sheets("Единая база проблематики РФ").Cells(Sheets("Единая база проблематики РФ").Cells(Rows.Count, 7).End(xlUp).Row + 1, 7).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone
HomeBook.Worksheets("Итоговый отчет по выезду").Range("B25:B33").Copy
Sheets("Единая база проблематики РФ").Cells(Sheets("Единая база проблематики РФ").Cells(Rows.Count, 9).End(xlUp).Row + 1, 9).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone
Изменено: Mershik - 12.08.2020 14:37:17
Не бойтесь совершенства. Вам его не достичь.
 
Я могу файлы приложить... Сможете помочь?
Копирую в книгу "Единая база проблематики РФ"...
 
Ксения Петрищева, я вам внес изменения в макрос замените и попробуйте и судя по
Цитата
Mershik написал:
Sheets("Единая база проблематики РФ")
это не книга, а лист
Не бойтесь совершенства. Вам его не достичь.
 
А они одинаково у меня называются просто (по просьбе руководства))

Ругается, что метод Paste Special из класса Range завершен неверно(
 
Ксения Петрищева, ну значит создайте 2 файла примера из которого и в который и какой результат там должен покажите
Не бойтесь совершенства. Вам его не достичь.
 
Сейчас тогда сделаю!
Спасибо большое!!!
 
Вот получается такая картина:
в файле Исходник данные красным выделены, между ними пробелы (могут быть, могут нет)
их надо скопировать макросом в книгу Итог- после заполненных уже данных, как указано...

Код, который вы выше писали, поставила еще раз, убрала только про Operation ссылку- работает - но вставляет также со сдвигом относительно друг друга ...
 
Ксения Петрищева, а как понять где заканчивается проблема и начинается решение ? или они в определенном диапазоне?
Изменено: Mershik - 12.08.2020 15:35:38
Не бойтесь совершенства. Вам его не достичь.
 
Я для аналогичного писала код, который выше но он мне копирует со сдвигом... не знаю, как показать.
Вставляет в столбец проблема, как надо,
а вот решение - вставка сдвигается по столбцу вниз, на кол-во строк, на которые в проблеме уже вставлено.
Т.е. вот так ставит (как в файле, вложила).

И я в упор не могу понять, как обойти это(
 
Ксения Петрищева, я понял все прекрасно! как определить где начинается и где заканчивается проблема и начинается решение????????
вы почему
Цитата
Ксения Петрищева написал:
Range("B25:B33").Copy
Цитата
Ксения Петрищева написал:
Range("B13:B20").Copy
эти диапазоны копируете?
у меня все копирует  оставил диапазон который вы указывали изначально...так как понять я не могу что вы хотите то у вас смещается то не пустые строки а их в результате нет..то копируете определенный диапазон...
Код
Sub Копирование()
Dim HomeBook As Workbook
Dim FinalBook As Workbook
Set HomeBook = ActiveWorkbook
Set FinalBook = Workbooks.Open("C:\Users\MershevoiAI.VKS\Desktop\Итог.xlsx")
HomeBook.Worksheets("Аркуш1").Range("B13:B20").Copy
FinalBook.Sheets("Аркуш1").Cells(FinalBook.Sheets("Аркуш1").Cells(Rows.Count, 7).End(xlUp).Row + 1, 7).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone
HomeBook.Worksheets("Аркуш1").Range("B25:B33").Copy
FinalBook.Sheets("Аркуш1").Cells(FinalBook.Sheets("Аркуш1").Cells(Rows.Count, 8).End(xlUp).Row + 1, 8).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone
End Sub





Изменено: Mershik - 12.08.2020 15:50:39
Не бойтесь совершенства. Вам его не достичь.
 
Потому что в них данные могут быть. Т.е. это данные,в которые должна вноситься проблематика... Она туда тянется из других отчетов - 4 штуки. Т.е. может такое быть, что например сегодня все эти поля заполнены, а завтра - нет, в середине где-то пропуск, потому что выявлено не 2 проблемы,а 3. и из отчета №2 - поэтому из 5 строк только 3 заполнено

Попробую еще раз.... Спасибо большое!  
Страницы: 1
Наверх