Ошибка времени выполнения '-2147417848 (80010108)': с проверкой, чтобы увидеть, существует ли значение, введенное в поле Txtbox пользовательской формы, в столбце таблицы в той же книге - PullRequest
0 голосов
/ 15 октября 2018

Я получаю это сообщение об ошибке (Ошибка автоматизации. Вызванный объект отключился от своих клиентов. "

Код довольно прост (я думаю). У меня есть пользовательская форма (frmFolderNo). На пользовательской форме естьтекстовое поле (txtLIMSFNo), где пользователь вводит номер папки (FolderNo). Затем я использую AfterUpdate, чтобы проверить, существует ли FolderNo. Если нет, он выполняет подпрограмму QueryLIMS. Он работал нормально, когда я только выполнил этот код без проверки наПосмотрите, существует ли FolderNo, но когда я добавил возможность проверки, у меня появилась проблема. Если она уже существует, я просто хочу установить переменную (FolderNumExists) true, сообщить пользователю через msgbox и затем выбрать соответствующую строку для редактирования.Затем цикл должен завершиться. Если FolderNum НЕ существует, подпрограмма QueryLIMS должна выполняться. Если она существует, появляется окно сообщения и выбирается строка, но затем я получаю эту ошибку в конце (когда выполняется строка End SubИ, как правило, Excel вылетает и перезагружается или должен быть перезапущен.я скучаю?Между прочим, это все еще отлично работает, когда FolderNum не существует.

>Private Sub txtLIMSFNo_AfterUpdate()
    folderNo = txtLIMSFNo.Value

    Dim LastRow As Long
    Dim sht As Worksheet
    Set sht = ThisWorkbook.Sheets("Current_Samples")
    'Check to see if FolderNo exists in "Current Samples" Tab
    'Determine lastrow on "Current Samples" Tab
    sht.Activate
    LastRow = sht.Range("A1").End(xlDown).Row

    Dim i As Integer
    For i = 1 To LastRow
        If ThisWorkbook.Sheets("Current_Samples").Cells(i, 1).Value = 
        folderNo Then
            'This folder already exists in the spreadsheet.  It will now be 
            selected to facilitate editing
                ThisWorkbook.Sheets("Current_Samples").Rows(i & ":" & 
                 i).Select
                FolderNumExists = True
                Me.Hide
                MsgBox "This FolderNo exists already.  It is now selected 
                for Editing."
                Exit For
        End If
        Next i
        If FolderNumExists = False Then
            QueryLIMS
        End If
End Sub 
...