Есть код, он копирует данные из одной книги, к примеру "Отчет" в общую книгу "NEW"
Код |
---|
If Not TypeName(Selection) = "Range" Then Exit Sub Dim lr&, wb As Workbook, lb As Workbook, i As Long With Application: .ScreenUpdating = False: .DisplayAlerts = False: .EnableEvents = False: End With Set wb = GetObject("С:NEW.xlsm") Set lb = ThisWorkbook lr = wb.Sheets(1).Cells(Rows.Count, 5).End(xlUp).Row Range("Таблица1").copy wb.Sheets(1).Cells(lr + 1, 1).PasteSpecial xlPasteValues Application.CutCopyMode = False wb.Close (True) With Application: .EnableEvents = True: .DisplayAlerts = True: .ScreenUpdating = True: End With Set wb = Nothing: Set lb = Nothing |
Код рабочий, спасибо форуму, и спасибо дядьке с ником "Казанский" за доработку.
Возможно, кто-то сможет подсказать, найти решение:
Необходимо данный код доработать, включить в него проверку, а именно - поиск пустой строки в диапазоне "Таблицы1", в случае присутствия таковой остановить исполнение кода до копирования "Таблицы1" "Range("Таблица1").copy" и вывода текста с замечанием (MsgBox "Удалите пустую строку", vbCritical)
Чтобы в общий файлик не попадала информация (пустая)
Не могу понять в какую часть кода запилить эту проверку.
Если возможно, то прописать похожую проверку на наличие схожих данных в общем отчете (NEW), и остановки сценария чтобы исключить возможность задвоения информации в общем файле. также с выводом предупреждающего текста, типа "данные уже занесены в отчет".
К примеру, в табличке заполнены 2 строки, юзер тыкает на кнопку "отправить данные в общий отчет", его отвлекают, и он тыкает еще раз, так как забыл тыкал он или нет ))
Заранее благодарен!