Страницы: 1
RSS
Поиск пустой строки в диапазоне "Таблица1"
 
Уважаемые гуру экселя, снова обращаюсь к Вам за помощью.. так как сам я еще чайник чайником в подобном вопросе.

Есть код, он копирует данные из одной книги, к примеру "Отчет" в общую книгу "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 строки, юзер тыкает на кнопку "отправить данные в общий отчет", его отвлекают, и он тыкает еще раз, так как забыл тыкал он или нет :)))

Заранее благодарен!

 
Есть колонка в Таблице, котороя обязательно должна быть заполнена?
 
Ivan.kh, Скриншот прицепил, имеются всегда заполненные столбцы (№ПП) в нем автоматом проставляется номер при добавлении.
 
Код
    For i = 1 To Range("Таблица1").Rows.Count
        If Range("Таблица1").Cells(i, 2).Value = "" Then
            MsgBox "есть пустая строка"
            Exit Sub
        End If
    Next i
Изменено: Ivan.kh - 15.04.2019 16:47:54
 
Ivan.kh, приогромнейшее Спасибо, проверка на наличие пустой строки работает отлично!

Кто-нибудь сможет помочь со вторым вопросом на проверку задвоения данных в общем файле?
Одинаковых данных никогда не бывает.
Сотрудники выгружают заполненные данные раз в неделю.
Следующая неделя - новый пустой отчет. (тот что на картинке)
 
Второй  вопрос не имеет отношения к теме и нарушает правила форума.
Хотя направление могу дать - на дублирование данных смотрите словари или коллекции
Изменено: Ivan.kh - 15.04.2019 17:43:46
 
Ivan.kh,
В любом случае спасибо, основной вопрос решен.
Второй это уже моя фантазия :)
Мысли есть, попробую сначала сам.
Страницы: 1
Наверх