Возникли проблемы с созданием допустимого условия выхода с помощью Excel VBA

Сначала опубликуйте все, поэтому пропустите любые синтаксические ошибки: я давно работаю над электронной таблицей. Его цель – зарегистрировать мои звонки, поскольку я работаю в центре обработки вызовов с большими объемами входящих вызовов. Иногда мне нужно следить за своими гостями.

Рабочий лист – это колонка A: K, начиная с строки 5

В конечном счете, я кодирую программу для проверки своих записей, игнорирую любую строку с данными в столбце K, затем, когда она находит достоверные данные, копирует записи на другой лист и возвращается к основному листу. Эта часть работает нормально, и вот код для этого:

Sub Button2_Click() Dim sourceEmptyRow As Long Dim targetEmptyRow As Long Dim sourceRange As Range Dim targetRange As Range 'Make Today active Sheet1.Activate 'Set Variables sourceEmptyRow = FindNextEmpty(Range("K5")).Row Set sourceRange = Rows(sourceEmptyRow) sourceRange.Copy 'Activate Next Sheet sheetQ4.Activate 'Set Variables targetEmptyRow = FindNextEmpty(Range("A1")).Row Set targetRange = Rows(targetEmptyRow) targetRange.PasteSpecial Sheet1.Activate sourceRange.Delete Shift:=xlUp End Sub 

Вот функция FindNextEmpty () (которую я уверен, что нашел здесь)

 Public Function FindNextEmpty(ByVal rCell As Range) As Range 'Finds the first empty cell downwards in a column. On Error GoTo ErrorHandle With rCell 'If the start cell is empty it is the first empty cell. If Len(.Formula) = 0 Then Set FindNextEmpty = rCell 'If the cell just below is empty ElseIf Len(.Offset(1, 0).Formula) = 0 Then Set FindNextEmpty = .Offset(1, 0) Else 'Finds the last cell with content. '.End(xlDown) is like pressing CTRL + arrow down. Set FindNextEmpty = .End(xlDown).Offset(1, 0) End If End With Exit Function ErrorHandle: MsgBox Err.Description & ", Function FindNextEmpty." End Function 

Моя ПРОБЛЕМА заключается в том, что я хотел бы иметь возможность выполнить этот блок кода, а затем, когда это будет сделано, проверьте следующую строку … если BOTH Столбец A и K пустые для STOP, иначе Loop вернитесь к вершине и запустите ее следующую строку. Если у меня долгий день, иногда я могу получить 20-30 звонков, а нажатие кнопки 20-30 раз неэффективно.

Я не СЕРЬЕЗНО закодирован с 2003 года, так что я новичок EXTREME. Спасибо за любую помощь, идеи, прозрение, которые вы можете предоставить.

Вот моя таблица

Электронная таблица Я работаю с дезинфицированными для общественного просмотра

Это использует AutoFilter


 Option Explicit Public Sub MoveCompleted() Const COL_K = 11 Const TOP_ROW = 5 Dim ws1 As Worksheet: Set ws1 = sheetToday '<--- Source sheet Dim ws2 As Worksheet: Set ws2 = sheetQ118 '<--- Destination sheet Dim maxRows As Long, ws1ur As Range optimizeXL True With ws1.UsedRange If ws1.AutoFilterMode Then .AutoFilter maxRows = .Rows.Count .Offset(TOP_ROW - 2).Resize(maxRows - (TOP_ROW - 2)).AutoFilter 'ur + header row .AutoFilter Field:=COL_K, Criteria1:="=" 'show only blanks in K Set ws1ur = .Offset(TOP_ROW - 1).Resize(maxRows - TOP_ROW + 1, .Columns.Count) On Error Resume Next Set ws1ur = ws1ur.SpecialCells(xlCellTypeVisible) If Err.Number <> 0 Then Err.Clear Else ws1ur.Copy ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1) ws1ur.EntireRow.Delete End If On Error GoTo 0 .AutoFilter Field:=COL_K End With optimizeXL False End Sub 

 Public Sub optimizeXL(Optional ByVal settingsOff As Boolean = True) With Application .ScreenUpdating = Not settingsOff .Calculation = IIf(settingsOff, xlCalculationManual, xlCalculationAutomatic) .EnableEvents = Not settingsOff End With End Sub 

Начальные тестовые листы

Лист1 Лист1 sheetQ4 sheetQ4


результат

Лист1 Лист1 sheetQ4 sheetQ4

  • Используйте цикл VBA для поиска значений из закрытой книги, используя ссылку и вставку в активную книгу, используя тот же идентификатор ссылки
  • Попытка найти набор букв внутри строки с петлей
  • Зацикливание макроса для копирования и вставки затем печати
  • Система бронирования Excel - игнорирование 1-го и последнего времени выполнения оператора IF
  • Слишком много вложенных циклов в excel
  • Таблица Excel VBA для сводной таблицы внутри цикла, использующая переменную с другого листа
  • Создание миллисекундных циклов в Excel VBA
  • Использовать функцию в диапазоне
  • Excel Копировать, Вставить, Переместить ниже цикла до
  • Стоп для цикла перед пустой ячейкой
  • Excel VBA: перезапустить счетчик циклов
  • Interesting Posts

    Выбор между надстройкой Excel, шаблоном и рабочей книгой?

    Поиск строк и работы с ячейками на странице большого размера

    Excel 2007 COUNTIF только в четных строках

    Транспонировать столбцы в новый столбец и поддерживать / дублировать строки соответственно

    excel vba сохраняет исходное значение, если формула UDF не работает

    Изменение событий динамически?

    Создание настраиваемой функции count в VBA

    Excel VBA CreateObject: ошибка времени выполнения «432»: имя файла или класс, не найденные во время операции автоматизации

    Взятие нескольких ячеек и использование их информации для создания другой ячейки

    Проблемы с одним типом данных, идущими от Access to Excel

    Интеграция .NETMVC с Excel

    Использование переменной внутри встроенной формулы VBA

    Обновляемый веб-запрос с использованием Excel 2010 и параметров

    VBA – Исходные данные из нескольких листов

    Размер таблицы в excel должен основываться на значении указанной ячейки

    Давайте будем гением компьютера.