Userform2 fehler
#1
Guten Abend Uwe.
Habe wieder mal ein Problem und bitte um Hilfe. (Hoffendlich das letzte mal)

Ich habe in der Tabelle1 in Zeile 6 "Tauf Datum" und "Heirats Datum" eingefügt.
Alle Datum werden richtig modifiziert.

Wenn ich nun "Personen suche", in der Listbox markiere und "Markierte Person bearbeiten" wähle,
erhalte ich die Fehlermeldung        "Laufzeitfehler 13, Typen unverträglich"
und im Makro unten ist "UserForm2.Show" ist gelb markiert.

Private Sub CommandButton4_Click()
    If ListBox1.ListIndex = -1 Then Exit Sub
    ' Userform 1 beenden und Userform2 öffnen
    Unload Me
    UserForm2.Show
End Sub
Wo liegt der Fehler?
Mit dankbaren Grüssen
Marttin


Angehängte Dateien
.xlsm   Userfform fehler Arbeitsdatei.xlsm (Größe: 997,98 KB / Downloads: 3)
Antworten Top
#2
Hallo Martin,

für ScheidungsOrt/-Datum ist keine Spaltennummer hinterlegt, deshalb der Fehler 13.
Antworten Top
#3
Guten Abend knobby98.
  Heart -lichen Danke für die Info.
Wie kann mann nur so dämlich sein. 
Ich glaube, dass Alter macht sich bem3rbar.
Gruss Martin
Antworten Top
#4
Kein Problem,

aber vielleicht solltest du mal über eine Fehlerbehandlungsroutine nachdenken, denn so etwas kann ja immer mal vorkommen. 

Gruß Knobbi38
Antworten Top
#5
Guten Tag  Knobbi38
Danke für die Info.
Wie wäre sowas zu realisieren?
Gruss Martin
Antworten Top
#6
Hallo Martin, 

umsetzen kannst du das relativ einfach mit einem Errorhandler, welcher den Fehler 13 auswertet, oder aber du fragst vorher ab, ob in dem Array bzw. der Zelle ein Wert steht, um im Vorfeld so einen Fehler zu vermeiden.

Eine andere Variante wäre, mit Debug.Assert eine Ausgabe im Direktfenster zu machen. Da wird zwar der Fehler nicht abgefangen, aber der Entwickler bekommt damit den Hinweis, daß eine Annahme - in diesem Fall das ein Wert <> "" gelesen wird - falsch ist.

Hier ein paar fortführende Links zum Thema:
https://www.excel-vba-lernen.de/22-on-error-goto
https://excelmacromastery.com/vba-assert/


Gruß Knobbi38
Antworten Top
#7
Hallo Miteinander,

eigentlich ist es gar nicht erforderlich per MsgBox oder wie auch immer den Fehler aufzufangen/zu behandeln.

Es reicht eigentlich in der Formel in Spalte C die WENNFEHLER() Ausgabe anzupassen.

z.B. so:
Code:
=WENNFEHLER(VERGLEICH([@Spaltennamen];Tabelle1!$6:$6;0);"Fehler: Dieser Spaltenname ist nicht vorhanden")
Es würde auch schon mit bedingter Formatierung leere Zelle Rot als Hinweis reichen.

Gruß Uwe
Antworten Top
#8
@Uwe:

Es ging bei der Frage wohl nicht um eine Formel, sondern um VBA-Code abzusichern, aber die Idee mit einer BF ist auch nicht schlecht. 😉
Antworten Top
#9
Guten Tag  Knobbi38
Danke für die Link. Werde mich damit mal in den Stoff vertiefen.
Gruss Martin.

Guten Tag Uwe
Danke für die Formel.
Werde mal testen.
Gruss Martin
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste