Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler im VBA Code

Forumthread: Fehler im VBA Code

Fehler im VBA Code
30.03.2006 07:01:37
Josef
Hallo!
Ich habe folgenden Code:

Private Sub ComboBox1_Change()
ComboBox3.Tag = "füllen"
'If ComboBox1.Value = "Haus" Then
'    ComboBox3.RowSource = ""
'    FRM_Haus.Show
'    ComboBox3.Value = ""
'Else
If ComboBox1.Value <> "" Then
ComboBox3.RowSource = ComboBox1.Value
ComboBox3.ListIndex = 0 ' ersten Wert anzeigen
'ComboBox3.Visible = ComboBox1.Value = "Abschnitt1"
End If
ComboBox3.Tag = ""
End Sub

Mit diesem Code wird,wenn das Tabellenblatt "Daten" aktiviert ist, alles wie gewünscht korrekt in die ComboBox1 eingelesen.
Ich müßte jedoch die Userform bei einem anderen aktivierten Datenblatt starten und hier bekomme ich klarerweise einen RowSource Fehler.
In der UserForm_Initialize versuchte ich jetzt den Pfad so anzupassen, dass es auch dann funktioniert, nur leider Pech gehabt. Wo liege ich hier bitte falsch?
Dim Loletzte As Long
Dim LoI As Long
Loletzte = IIf(IsEmpty(Workbooks("SVA Heilbehelfe und Hilfsmittelkatalog.xls").Worksheets("Daten").Range("A65536")), Workbooks("SVA Heilbehelfe und Hilfsmittelkatalog.xls").Worksheets("Daten").Range("A65536").End(xlUp).Row, 65536)
For LoI = 1 To Loletzte
ComboBox1.AddItem Cells(LoI, 1)
Next LoI
ComboBox1.ListIndex = 0
Danke
Josef
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler im VBA Code
30.03.2006 08:19:25
IngGi
Hallo Josef,
wenn du nur schreibst
ComboBox1.AddItem Cells(LoI, 1)
dann bezieht sich das immer auf das aktive Arbeitsblatt. Du musst Excel sagen, dass du dich auf das Tabellenblatt "Daten" beziehen möchtest, also
ComboBox1.AddItem Workbooks("SVA Heilbehelfe und Hilfsmittelkatalog.xls").Worksheets("Daten").Cells(LoI, 1)
Das Ganze läßt sich allerdings mit With...End With deutlich abkürzen zu
Dim Loletzte As Long
Dim LoI As Long
With Workbooks("SVA Heilbehelfe und Hilfsmittelkatalog.xls").Worksheets("Daten")
Loletzte = IIf(IsEmpty(.Range("A65536")), .Range("A65536").End(xlUp).Row, 65536)
For LoI = 1 To Loletzte
ComboBox1.AddItem .Cells(LoI, 1)
Next LoI
End With
ComboBox1.ListIndex = 0
Gruß Ingolf
Anzeige
AW: Fehler im VBA Code
30.03.2006 08:25:49
Josef
Hallo Ingolf!
Besten Dank für Deine Hilfe
Josef
;

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