Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 94 Unzulässige Verwendung von Null

Forumthread: Laufzeitfehler 94 Unzulässige Verwendung von Null

Laufzeitfehler 94 Unzulässige Verwendung von Null
09.06.2013 22:47:29
Null
Hallo,
ich habe folgendes Problem:
Beim Klick auf einen Eintrag in meiner ListBox soll in der Textbox derjenige Wert ausgegeben werden, der auf dem Sheet "Quelle" in Spalte A und dann in der jeweiligen Zeile zu finden ist, in der auch die Daten stehen, die schon in die ListBox übernommen wurden.
Meine ListBox hat 4 Spalten.
Ich hoffe, ich konnte mein Problem einigermaßen verständlich rüberbringen.
Vielen Dank im Voraus!
Gruß
Drower
Private Sub ListBox1_Click()
Dim lng As Integer
Sheets("Quelle").Activate
lng = UserForm4.ListBox1.Column(4)
With UserForm4
TextBox1.Value = Cells(lng, 1).Value
End With
End Sub

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 94 Unzulässige Verwendung von Null
09.06.2013 22:49:05
Null
Beim Klicken auf eine Zeile in der Listbox taucht dann der Laufzeitfehler 94 auf "Unzulässige Verwendung von Null"
Danke!

AW: Laufzeitfehler 94 Unzulässige Verwendung von Null
10.06.2013 09:43:03
Null
Hallo Drower,
wenn deine Listbox 4 Spalten hat und in der 4. Spalte die jeweiligen Zeilennummern stehen, dann muss die Zeile
    lng = UserForm4.ListBox1.Column(4)
ersetzt werden durch
lng = UserForm4.ListBox1.Column(3)
'Ich persönlich bevorzuge hier aber das Auslesen der List-Eigenschafts-Werte
With UserForm4.ListBox1
lng = .List(.Listindex, 3)
End with

Zu beachten ist hier, dass die Zählung der Spalten bei 0 beginnt.
Gruß
Franz

Anzeige
AW: Laufzeitfehler 94 Unzulässige Verwendung von Null
09.06.2013 23:08:18
Null
Hallo,
unterstellt, die Listbox befindet sich im selben Userform wie die Textbox, Mehrfachauswahl in der Listbox ist nicht möglich u. die Einträge wurden ab Zeile 2 der Tabelle in die Listbox übernommen.
Private Sub ListBox1_Click()
If ListBox1.ListIndex > 0 Then TextBox1.Value = Sheets("Quelle").Cells(ListBox1.ListIndex + _
2, 1).Value
End Sub
Gruß Gerd

Anzeige
AW: Laufzeitfehler 94 Unzulässige Verwendung von Null
10.06.2013 13:17:56
Null
Hallo,
vielen Dank für eure Antworten, aber leider funktioniert keiner der beiden Ansätze.
bei fcs taucht dann der Laufzeitfehler 6 "Überlauf" auf.
Die Annahmen von Gerd sind alle richtig, aber es passiert gar nichts.
Ich hoffe, es gibt noch andere Möglichkeiten?
Vielen Dank!

Anzeige
AW: Laufzeitfehler 94 Unzulässige Verwendung von Null
10.06.2013 20:02:13
Null
Hallo,
nichts ist nicht das Schlechteste, immerhin fehlerfrei. :-)
Lade bitte eine Beispieldatei hoch u. gib an, welcher Wert beim Click in eine bestimmte Zeile in der Textbox erscheinen soll.
Gruß Gerd
;
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler 94 in Excel VBA beheben


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und gehe in den Visual Basic for Applications (VBA) Editor.

  2. Suche die UserForm, die die ListBox enthält.

  3. Überprüfe den Code im Ereignis ListBox1_Click. Er sollte in etwa so aussehen:

    Private Sub ListBox1_Click()
       Dim lng As Integer
       Sheets("Quelle").Activate
       lng = UserForm4.ListBox1.Column(4)
       With UserForm4
           TextBox1.Value = Cells(lng, 1).Value
       End With
    End Sub
  4. Stelle sicher, dass die Spalte, die du aus der ListBox ausliest, korrekt ist. Wenn deine ListBox 4 Spalten hat, könnte es nötig sein, die Spalte auf Column(3) zu ändern, da die Zählung bei 0 beginnt.

    lng = UserForm4.ListBox1.Column(3)
  5. Eine alternative und häufig empfohlene Methode ist, die List-Eigenschafts-Werte auszulesen:

    With UserForm4.ListBox1
       lng = .List(.ListIndex, 3)
    End With
  6. Setze den Code für die TextBox entsprechend:

    If ListBox1.ListIndex > 0 Then TextBox1.Value = Sheets("Quelle").Cells(ListBox1.ListIndex + 2, 1).Value
  7. Teste den Code, indem du auf die ListBox klickst und überprüfe, ob der Wert in der TextBox korrekt angezeigt wird.


Häufige Fehler und Lösungen

  • Laufzeitfehler 94 "Unzulässige Verwendung von Null": Dieser Fehler tritt häufig auf, wenn du versuchst, auf einen Wert zuzugreifen, der nicht existiert. Überprüfe, ob die ListBox tatsächlich Werte enthält und ob die Spaltenindizes korrekt sind.

  • Laufzeitfehler 6 "Überlauf": Dieser Fehler kann auftreten, wenn du versuchst, einen Wert zu verwenden, der außerhalb des gültigen Bereichs liegt. Achte darauf, dass du den richtigen Index für die ListBox verwendest und dass es keine leeren Einträge gibt.


Alternative Methoden

Wenn die oben genannten Methoden nicht funktionieren, kannst du folgende Alternativen ausprobieren:

  • Verwende eine ComboBox anstelle einer ListBox, um die Auswahl zu vereinfachen.
  • Erstelle eine separate Funktion, die den Wert aus der ListBox abruft, bevor du ihn in die TextBox schreibst.

Praktische Beispiele

Hier ist ein Beispiel, wie du den Code für die ListBox und die TextBox strukturieren kannst:

Private Sub ListBox1_Click()
    Dim lng As Integer
    If ListBox1.ListIndex <> -1 Then
        lng = ListBox1.ListIndex + 2 ' Anpassung der Zeilenindex
        TextBox1.Value = Sheets("Quelle").Cells(lng, 1).Value
    End If
End Sub

In diesem Beispiel wird sichergestellt, dass nur ein gültiger ListIndex verwendet wird.


Tipps für Profis

  • Nutze „Option Explicit“ am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies kann viele Fehler vermeiden.
  • Verwende Debug.Print oder MsgBox, um den Wert von Variablen während der Laufzeit zu überprüfen.

FAQ: Häufige Fragen

1. Was bedeutet Laufzeitfehler 94?
Dieser Fehler zeigt an, dass ein Nullwert verwendet wurde, wo ein gültiger Wert erwartet wurde. Überprüfe die Quellwerte in deiner ListBox.

2. Wie kann ich sicherstellen, dass die ListBox korrekt gefüllt ist?
Stelle sicher, dass die Daten in der Quelldatei vorhanden sind und dass der Code zum Füllen der ListBox korrekt ausgeführt wird. Teste dies, indem du den Code zur Füllung der ListBox schrittweise durchgehst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige