Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
848to852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
848to852
848to852
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ComboBox befüllen in Abhängigkeit einer 2. Spalte

ComboBox befüllen in Abhängigkeit einer 2. Spalte
25.02.2007 15:02:00
Josef
Hallo!
Ich habe in der Spalte A ab A2 Nummrn stehen.
Diese werden in eine ComboBox einer UserForm eingelesen.
Nun möchte ich folgendes erreichen.
Ist in der Spalte B ein Wert eingetragen dann soll die Nummer links in der Spalte A nicht in die ComboBox eingelesen werden. Ist kein Wert in der Spalte B vorhanden so soll die nummer in die comboBox eingelesen werden. Wie würde hier bitte eine VBA Lösung aussehen?
Beispiel:
Spalte A 1234560 Wert in Spalte B vorhanden: Nummer 1234560 soll nicht eingelesen werden.
Spalte A 1234560 Wert in Spalte B nicht vorhanden: Nummer 1234560 soll eingelesen werden.
Danke
Josef

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox befüllen in Abhängigkeit einer 2. Spalte
25.02.2007 16:13:59
IngGi
Hallo Josef,
folgendes Makro kommt in's Modul des UserForm(ulars). Die Namen der ComboBox und des Tabellenblattes musst du natürlich noch anpassen.

Private Sub UserForm_Initialize()
Dim cb As ComboBox
Dim Bereich As Range
Dim rng As Range
Set cb = ComboBox1
With ThisWorkbook.Sheets("Tabelle1")
   Set Bereich = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
For Each rng In Bereich
   If rng.Offset(0, 1) = "" Then
      cb.AddItem
      cb.List(cb.ListCount - 1) = rng
   End If
Next 'rng
cb.ListIndex = 0
End Sub

Gruß Ingolf
Anzeige
AW: ComboBox befüllen in Abhängigkeit einer 2. Spalte
25.02.2007 16:33:07
Josef
Hallo Ingolf!
Danke für Deine Antwort.
Habe es getestet. würde auch alles bestens funktionieren. nur wenn ich über die Textboxen einen Wert eingebe, dann wird dieser in die falsche Zeile geschrieben. wo kann ich hier bitte den Fehler gemacht haben?
https://www.herber.de/bbs/user/40668.xls
Danke
Josef
AW: ComboBox befüllen in Abhängigkeit einer 2. Spalte
25.02.2007 17:17:28
stormy_weathers
Hallo Josef,
das Programm arbeitet richtig. Du beziehst Dich auf den Index der Combobox 1 und der ist nicht gleich der Zeile in die du reinschreiben möchtest. Ich würde in solch einem Fall den Zeilenwert in ein nicht sichtbares Element schreiben.
Gruß
stormy
Anzeige
AW: ComboBox befüllen in Abhängigkeit einer 2. Spalte
25.02.2007 17:30:00
Josef
Hallo stormy1
Danke für Deine Antwort.
Die Lösung von Ingolf war ja auch einwandfrei und perfekt.
Den Fehler, so glaube ich, habe ich hier gemacht:
Dim R&
If ComboBox1.ListIndex = -1 Then
R = Cells(Rows.Count, 1).End(xlUp).Row + 1
Else
R = ComboBox1.ListIndex + 2
End If
Cells(R, 2).NumberFormat = "@"
Cells(R, 2) = TextBox1.Text
Nur : den Zeilenwert in ein nicht sichtbares Element schreiben übersteigt derzeit mein VBA Wissen.
Mit R = Cells(Rows.Count, 1).End(xlUp).Row + 1 nehme ich ja wieder alle Einträge der Spalte A rein und gehe damit ja nicht vom Eintrag der ComboBox1 aus. Nehme ich mal an.
Josef
Anzeige
AW: ComboBox befüllen in Abhängigkeit einer 2. Spalte
25.02.2007 20:16:00
IngGi
Hallo Josef,
anhand deiner Datei kann ich zwar nicht nachvollziehen, in welche Zeile geschrieben werden soll, möglicherweise liegt es aber daran, dass der ListIndex nicht bei 1, sondern bei 0 beginnt?
Gruß Ingolf
AW: ComboBox befüllen in Abhängigkeit einer 2. Spalte
25.02.2007 20:29:27
Josef
Hallo Ingolf!
Danke für Deine Antwort.
Wenn in der ComboBox1 z.B. 1234560 aktiviert wird und diese Zahl in der Zelle A10 wäre, dann sollen die Einträge in den Textboxen in die Zellen B10,C10 und D10 geschrieben werden. Nach neuerlichem Aufruf dürfte dann dank Deiner ersten Lösung die Nummer 1234560 nicht mehr aufscheinen.
Josef
AW: ComboBox befüllen in Abhängigkeit einer 2. Spalte
25.02.2007 20:46:22
Josef
Hallo Ingolf!
Habe da jetzt was zusammengebastelt.
Aufruf des Datensatzes über die cboliste.
Nach dem drücken des CommandButton1 werden die Daten in die richtige Zeile geschrieben und die übrigen Datensätze welche noch keinen Eintrag in der Spalte B haben werden in die ListBox1 eingetragen.
mit einem klick auf einen Datensatz in der ListBox wird die richtige Zeile aktiviert und man kann einen neuen Eintrag durchführen.
Der Schönheitsfehler dabei.
In der Listbox ist der erste Eintrag nicht anklickbar. Warum weiss ich nicht.
Zweitens muß die ComboBox1 ebenfalls vorhanden sein sonst funktioniert der Eintrag in die Listbox nicht.
Besser wäre es sicher wenn sich nach einem Eintrag in der ComboBox1 bereits die Daten nach einem Eintrag minimieren.
https://www.herber.de/bbs/user/40674.xls
Josef
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige