Ich schreibe einen VBA-Code, der von einem UserForm geöffnet wird, das 2 ComboBoxes und 2 TextBoxes enthält, um eine 2D-Matrix nach Benutzerauswahl zu bilden.VBA - Variable erhält ComboBox Wert wird sonst TextBox Wert Fehler
Was ich versuche zu tun ist, haben eine Variable erhalten den Combobox-Wert (eine Variable für jede Combobox) und wenn die Auswahl null ist, dann erhalten die Variablen den Wert der Textfelder. Ich habe den Ausdruck gegoogled, den ich dafür verwenden muss und stolperte auf IsNull, aber der Code funktioniert nicht. Was ich versucht war:
If IsNull(Matrix_Size_1.value) = False And IsNull(Matrix_Size_2.value) = False Then
lWidth = Matrix_Size_1.value
lHeight = Matrix_Size_2.value
ElseIf IsNull(Matrix_Size_1.value) = True And IsNull(Matrix_Size_2.value) = True Then
lWidth = Matrix_Hand_1.value
lHeight = Matrix_Hand_2.value
End If
Natürlich muss ich auch plausibler Situationen filtern als: wenn ein Combobox leer ist, dann msgbox, wenn alles leer ist, dann msgbox aber ich werde es behandeln, sobald ich werde verstehen, warum Mein Code funktioniert nicht.
Aber die Fehler, die ich, wenn ich nichts von den Comboboxen wählen DO ist Typenkonflikt obwohl die Wenn Code eine Option für beide der Comboboxen leer sein muss.
Ich würde Ihre Hilfe zu schätzen wissen.
Sie könnte es einfacher finden, die 'ListIndex' Property aus der Combobox-Steuerelement zu verwenden. Wenn ich mich erinnere, wenn ListIndex = -1 ist, dann hat die Box keinen Wert ausgewählt. – Takarii