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

Forumthread: Laufzeitfehler 380 - Eigenschaft in Listbox

Laufzeitfehler 380 - Eigenschaft in Listbox
kle
Hallo,
...ich habe eine Listbox, in der ein Wert markiert werden soll.
Doch ich erhalte hier die Fehlermeldung 380 "Eigenschaft Text konnte nicht gesetzt werden."
sText = Worksheets("Data").Range("A5")
Code: objLBArtikel.text = sText
Ich weiß, dass der Artikel in der Liste der Listbox vorhanden ist...da die Liste der Listbox sich aus den Artikeln der Spalte A zusammensetzt - nur ohne dopplungen.
Wie kann ich es realisieren, dass in der Listbox der Gewählte sText markiert wird ?!
Gruß und Danke
Kay
Anzeige

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

Betreff
Benutzer
Anzeige
Value<> Text ?
28.01.2011 13:13:10
ransi
HAllo
Versuch mal so:
Dim sText As String
sText = Worksheets("Data").Range("A5").Text
objLBArtikel.Text = sText

ransi
Anzeige
AW: Value<> Text ?
28.01.2011 20:47:17
kle
Danke...klappt.
AW: Value<> Text ?
28.01.2011 21:38:38
kle
Nein, leider doch nicht ;o(
in der Zelle steht "Kamera XYZ" und in der Combox ist dies ebenfalls enthalten, aber mit dem Code erscheint dennoch die Fehlermeldung... ;o(
AW: Value<> Text ?
29.01.2011 12:11:18
Hajo_Zi
Hi,
vielleicht solltest Du mal Deine Datei hochladen?

Anzeige
AW: Ja, in der Spalte stehen Texte und Zahlen !
29.01.2011 14:32:17
kle
Es kommt zu der Fehlermeldung, da in der Spalte Texte und Zahlen stehen. Leider gibt es Artikel, die nur eine Ziffern-Kombination sind. Habe nun die Formatierung des Einlesens geändert mit vba.Format und alle als .text definiert während des Prozesses ... damit hat es geklappt !
Super und danke für Eure Unterstützung.
Hatte den Code erst falsch interpretiert und dadurch einen Fehler gemacht...
Aber ich lerne gern von Euch, auch wenn es manchmal länger dauert ;o)
Gruß und ein schönes und erholsames WE
Kay
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler 380 - Listbox in Excel beheben


Schritt-für-Schritt-Anleitung

  1. Zugriff auf die Listbox: Stelle sicher, dass du Zugriff auf die Listbox (objLBArtikel) in deiner Userform oder deinem Arbeitsblatt hast.

  2. Wert aus der Zelle lesen: Verwende den folgenden VBA-Code, um den Wert aus der Zelle zu lesen:

    Dim sText As String
    sText = Worksheets("Data").Range("A5").Text
  3. Wert in die Listbox setzen: Setze den gelesenen Wert in die Listbox:

    objLBArtikel.Text = sText
  4. Fehlerbehebung: Wenn der Fehler 380 weiterhin auftritt, überprüfe, ob der Wert in der Listbox tatsächlich vorhanden ist und ob das Format übereinstimmt.


Häufige Fehler und Lösungen

  • Fehlermeldung 380: Diese tritt auf, wenn der Textwert, den du in die Listbox setzen möchtest, nicht vorhanden ist. Stelle sicher, dass der sText-Wert in der Listbox existiert.

  • Zahlen und Texte gemischt: Wenn in der Zelle sowohl Zahlen als auch Texte stehen, kann es zu Problemen kommen. Konvertiere alle Werte in den Text, indem du die Formatierung während des Einlesens änderst:

    Dim sText As String
    sText = CStr(Worksheets("Data").Range("A5").Value)

Alternative Methoden

Eine alternative Methode zur Anzeige des Wertes in der Listbox ist die Verwendung der ListIndex-Eigenschaft. Du kannst den Index des Wertes in der Listbox finden und diesen dann setzen:

Dim index As Long
index = objLBArtikel.ListIndex
If index <> -1 Then
    objLBArtikel.ListIndex = index
End If

Praktische Beispiele

Ein Beispiel, wie du die Listbox mit Werten aus einer Spalte füllst und anschließend einen bestimmten Wert auswählst:

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Data")
Dim i As Long

' Listbox leeren
objLBArtikel.Clear

' Werte in die Listbox einfügen
For i = 1 To ws.Range("A" & ws.Rows.Count).End(xlUp).Row
    objLBArtikel.AddItem ws.Range("A" & i).Value
Next i

' Ausgewählten Wert setzen
Dim sText As String
sText = ws.Range("A5").Text
objLBArtikel.Text = sText

Tipps für Profis

  • Debuggen: Nutze die Debugging-Funktionen von VBA, um den aktuellen Wert von sText und die Inhalte der Listbox zu überprüfen.
  • Datenvalidierung: Stelle sicher, dass die Daten in der Quellzelle korrekt formatiert sind, um Laufzeitfehler zu vermeiden.
  • Null-Werte vermeiden: Überprüfe, ob der Wert sText leer ist, bevor du versuchst, ihn in die Listbox zu setzen.

FAQ: Häufige Fragen

1. Warum erhalte ich die Fehlermeldung 380?
Diese Fehlermeldung tritt auf, wenn der Text, den du in die Listbox setzen möchtest, nicht im Listenelement vorhanden ist.

2. Wie kann ich sicherstellen, dass nur Texte in der Listbox angezeigt werden?
Du kannst den Wert mit CStr() konvertieren oder die Formatierung beim Einlesen ändern, um sicherzustellen, dass alle Daten als Text behandelt werden.

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