Ошибка соответствия приложения 13 Я не понимаю - PullRequest
0 голосов
/ 27 марта 2020

Я пытаюсь найти решение

application.match с кодом ошибки 13

это простой код в VBA, это тот, кто может может помогите исправить этот код

Private Sub cmbName_Change()

If Me.cmbName.Value <> "" Then
    Dim sh As Worksheet
    Set sh = ThisWorkbook.Sheets("DATABASE")
    Dim i As Integer


    i = Application.Match(VBA.CLng(Me.cmbName.Value), sh.Range("A:A"), 0)

    Me.txtDatepicker.Value = sh.Range("A" & y).Value
    Me.cmbAddress.Value = sh.Range("C" & i).Value
    Me.txtContact.Value = sh.Range("D" & j).Value
    Me.cmbEducation.Value = sh.Range("E" & i).Value
    Me.cmbSpecify.Value = sh.Range("F" & i).Value
    Me.txtAge.Value = sh.Range("G" & j).Value

    If sh.Range("H" & i).Value = "Male" Then Me.optMale.Value = True
    If sh.Range("H" & i).Value = "Female" Then Me.optFemale.Value = True

    Me.cmbTraining.Value = sh.Range("I" & i).Value
    Me.cmbEmployment.Value = sh.Range("J" & i).Value
    Me.txtOthers.Value = sh.Range("K" & i).Value
    Me.txtAction.Value = sh.Range("L" & i).Value
    Me.txtLivelihood.Value = sh.Range("M" & i).Value

End If

End Sub

1 Ответ

0 голосов
/ 27 марта 2020

Код ошибки 13 означает Type Mismatch.

Возможность 1

Вы получаете эту ошибку, потому что вы передаете строку, содержащую символы, которые не могут быть интерпретированы как число для Clng функция. Следовательно, он не может быть преобразован в длинную переменную.

Чтобы решить эту проблему, вы можете добавить некоторую обработку ошибок для преобразования в длинную переменную только тогда, когда Clng не возвращает ошибку или вы можете избавиться от нее. Clng функционируют все вместе и убедитесь, что столбец A отформатирован как текст (поскольку это диапазон, которому вы соответствуете).

Возможность 2

Вы получаете эту ошибку, потому что нет ячейка в столбце A, соответствующая значению в выпадающем списке.

Чтобы решить эту проблему, вам необходимо добавить некоторую обработку ошибок и решить, что вы хотите делать, когда нет совпадения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...