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

Forumthread: Listbox Wert in Zelle schreiben

Listbox Wert in Zelle schreiben
Rainer
Hallo! Ich habe ein kleines Problem mit einer Listbox, in die ich als mögliche Auswahlen Uhrzeiten in der Form'1:00', '1:15', '1:30', usw eingetragen habe.
Nun soll eine Uhrzeit ausgewählt werden und per Makro soll die entspr Uhrzeit in die Zelle C1 geschrieben werden.
Ich habe dazu folgendes VBA Coding erstellt:
Sub Listenfeld2_BeiÄnderung()
Cells(1, 3).Select
ActiveCell.Value = listbox2.Value
End Sub
Es erscheint die Fehlermeldung 'Objekt erforderlich'....
Was habe ich denn hier falsch gemacht?
Vielen Dank für Eure Hilfe
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
versuche es mal so.
29.01.2010 14:59:11
Tino
Hallo,
Cells(1, 3) = TimeValue(ListBox1.List(, 0))
Sollte Deine Listbox mehrere Spalten haben, dies bei ListBox1.List(, 0) angeben.
PS: Gewöhne Dir an ohne Select zu arbeite.
Gruß Tino
AW: Listbox Wert in Zelle schreiben
29.01.2010 14:59:33
Meene
Hallo Rainer,
in welchem Objekt liegt denn Deine Listbox?
Das solltest Du voranstellen, also

ActiveCell.Value = Objekt.Listbox2.Value
Gruß,
Michael
Anzeige
AW: Listbox Wert in Zelle schreiben
29.01.2010 15:25:31
Rainer
Hallo! Danke erst mal für Deine Antwort.
Mein Listbox liebt direkt in Tabelle1...Sollte das Coding dann so aussehen?
Sub Listenfeld2_BeiÄnderung()
Cells(1, 3).Value = Worksheets(1).listbox2.Value
End Sub
Der Fehler kommt damit nämlich immer noch....
Anzeige
AW: Listbox Wert in Zelle schreiben
29.01.2010 16:23:10
Tino
Hallo,
Du verwendest ein Listenfeld aus Formularsteuerelemente, da müsstest Du anders vorgehen.
Stell im Listenfeld die Zellverknüpfung auf eine Zelle ein (vielleicht auch hinter die Listbox),
mit diesem Wert lesen wird den Wert aus dem Listenbereich (Eingabebereich) der Listbox.
Sub Listenfeld1_BeiÄnderung()
With Worksheets(1).Shapes("Listenfeld 1").DrawingObject
If Range("B1").Value > 0 Then
'hier die Zelle B1 anpassen, ist Zellverknüpfung der Listbox
Cells(3, 1) = Range(.ListFillRange)(Range("B1").Value)
End If
End With
End Sub
Gruß Tino
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Listbox Wert in Zelle schreiben


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und erstelle eine neue Arbeitsmappe oder benutze eine bestehende.
  2. Füge eine Listbox hinzu: Gehe zu „Entwicklertools“ → „Einfügen“ → „Listfeld“ und platziere es auf deinem Arbeitsblatt.
  3. Füge Werte zur Listbox hinzu: Klicke mit der rechten Maustaste auf die Listbox und wähle „Eigenschaften“. Setze die ListFillRange auf den Bereich, der die Uhrzeiten enthält.
  4. Füge ein Makro hinzu: Erstelle ein neues Makro oder bearbeite ein bestehendes. Das folgende Beispiel zeigt, wie Du den Wert der Listbox in die Zelle C1 schreiben kannst:
    Sub Listenfeld2_BeiÄnderung()
       Cells(1, 3).Value = ListBox2.Value
    End Sub
  5. Teste das Makro: Wähle einen Wert in der Listbox aus und führe das Makro aus. Der ausgewählte Wert sollte jetzt in Zelle C1 erscheinen.

Häufige Fehler und Lösungen

  • Fehler: 'Objekt erforderlich': Dieser Fehler tritt auf, wenn Du versuchst, auf die Listbox zuzugreifen, ohne den richtigen Bezug zu setzen. Stelle sicher, dass Du den vollständigen Bezug zur Listbox verwendest:

    ActiveCell.Value = Worksheets("Tabelle1").ListBox2.Value
  • Listbox nicht sichtbar: Überprüfe die Sichtbarkeit der Listbox und dass sie korrekt auf dem Arbeitsblatt positioniert ist.

  • Zellverknüpfung nicht gesetzt: Wenn Du eine Zellverknüpfung für die Listbox verwendest, stelle sicher, dass diese korrekt eingestellt ist.


Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du die Werte auch über die Zellverknüpfung direkt in die Zelle schreiben. Gehe dazu wie folgt vor:

  1. Stelle die Zellverknüpfung der Listbox auf eine Zelle ein, z.B. B1.
  2. Verwende die Zelle B1, um den Wert zu lesen, und schreibe ihn in die gewünschte Zelle:
    Cells(1, 3).Value = Range("B1").Value

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du VBA verwenden kannst, um Werte in Zellen zu schreiben:

  • Einzelne Auswahl in eine Zelle schreiben:

    Sub SchreibenEinzelwert()
      Cells(1, 3).Value = ListBox1.Value
    End Sub
  • Mehrfachauswahl in eine Zelle schreiben:

    Sub SchreibenMehrfachauswahl()
      Dim i As Integer
      Dim gewaehlteWerte As String
      For i = 0 To ListBox1.ListCount - 1
          If ListBox1.Selected(i) Then
              gewaehlteWerte = gewaehlteWerte & ListBox1.List(i) & ", "
          End If
      Next i
      Cells(1, 3).Value = Left(gewaehlteWerte, Len(gewaehlteWerte) - 2) ' Letztes Komma entfernen
    End Sub

Tipps für Profis

  • Vermeide die Verwendung von Select und Activate in Deinem VBA-Code, um die Leistung zu verbessern.
  • Nutze Fehlerbehandlung in Deinem Code, um mögliche Laufzeitfehler abzufangen:
    On Error Resume Next
    Cells(1, 3).Value = ListBox2.Value
    On Error GoTo 0
  • Überlege, wie Du die Lesbarkeit Deines Codes verbessern kannst, indem Du Kommentare hinzufügst und strukturierte Variablen verwendest.

FAQ: Häufige Fragen

1. Wie kann ich in Excel eine Listbox erstellen?
Gehe zu „Entwicklertools“ → „Einfügen“ und wähle „Listfeld“ aus. Platziere es auf Deinem Arbeitsblatt und füge Werte hinzu.

2. Was mache ich, wenn ich mehr als einen Wert aus der Listbox auswählen möchte?
Setze die Eigenschaft MultiSelect der Listbox auf fmMultiSelectMulti und passe Deinen VBA-Code entsprechend an, um die ausgewählten Werte zu verarbeiten.

3. Wie kann ich den Wert in einer anderen Zelle als C1 schreiben?
Ändere einfach die Zellreferenz in Deinem VBA-Code, zum Beispiel Cells(2, 3).Value, um den Wert in Zelle C2 zu schreiben.

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