online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon noc vom 06.08.2020, 13:19 Options

Kombinationsfeld abhängig von Kombinationsfeld

Hallo zusammen

Ich versuche gerade mit mehreren Kombinationsfeldern zu arbeiten.
Ich möcht erreichen, dass mein 2. Kombinationsfeld in abhängigkeit von 1. Kombinationsfeld die Werte von Spalte C, D, E, oder F anzeigt.
genauer, wenn im Kombinationsfeld 1 der erste Text ausgewählt wird sollen im 2. Kombinationsfeld nur die Texte aus Spalte C erscheinen. Diese sollen dann angewählt werden können und eine Zelle soll dann den entsprechenden wert erhalten.
Ist sowas überhaupt realisierbar?

Wenn ja, wie?

Ich hoffe, dass ich mein Problem genau genug erläutern konnte.

vorab schonmal vielen Dank ,

noc


Antwort schreiben

Antwort 1 von rainberg vom 06.08.2020, 13:48 Options

Hallo,

wenn es auch Gültigkeitsdropdowns sein können, dann schau Dich mal hier um.

http://www.excelformeln.de/tips.html?welcher=84

Gruß
Rainer

Antwort 2 von noc vom 06.08.2020, 14:08 Options

Danke schonmal,
aber leider kann ich dass so nicht machen.
Die Kombinationsfelder sind pflicht.

Wenn also jemand noch eine Lösung hat wäre ich echt dankbar.

Gruß, noc

Antwort 3 von M.O. vom 06.08.2020, 15:52 Options

Hallo,

hier ein Beispiel, das dir sicher helfen wird.

Gruß

M.O.

Antwort 4 von noc vom 07.08.2020, 13:55 Options

JA super,

vielen vielen Dank.

Ich hab nur so lange für ne Antwort gebraucht, weil ich noch Excel 97 auf meinem Rechner hab und mit dem funktioniert dieses Makro nicht.
Aber ab 2000 gehts astrein!

also nochmal, vielen Dank

Antwort 5 von noc vom 07.08.2020, 14:40 Options

So, jetzt hab ich doch noch eine Frage,

wenn ich jetzt den Wert den meine Auswahl ergeben hat in Tabelle 1 übertragen will, kommt bei mit immer Debugg-Fehler.

Ich hab einfach an das Ende des Codes,

Sheets("Daten").Cells(Wiederholungen, 5).Select
Selection.Copy
Sheets("Tabelle1").Select
Range("G4").Select
ActiveSheet.Paste
angehängt.

Leider ist das wohl nicht richtig.

kann mir da bitte nochmal wer helfen??

Schönen Dank, noc

Antwort 6 von M.O. vom 07.08.2020, 16:26 Options

Hallo,

dein Code sollte soweit man das nachvollziehen kann eigentlich funktionieren.

Die kurze Version zu deinem Codeteil lautet so:

Sheets("Tabelle1").Range("G4") = Sheets("Daten").Cells(Wiederholungen, 5)


Ansonsten wäre es sinnvoll, wenn du den ganzen Code mal postest oder eine Beispieldatei hochlädst.

Gruß

M.O.

Antwort 7 von noc vom 11.08.2020, 08:17 Options

Ok, hier ist der gesamte Code.

wenn ich das Programm in Einzelschritten ablaufen lasse bleibt es immer bei Zeile
Sheets("Tabelle1").Range("G4") = Sheets("Daten").Cells(Wiederholungen, 5)
hängen und bringt mir einen Debugg fehler.

Was mache ich falsch?

Vielen Dank, NOC

Public Auswahl1 As String, Auswahl2 As String, Auswahl3 As String

Private Sub ComboBox1_GotFocus()
'***************************************************************************
'Bei Eingabefokus der ComboBox1
'***************************************************************************
Dim Wiederholungen As Integer
'Alle Einträge in der Combobox löschen
ComboBox1.Clear
'sichtbaren Eintrag in der Combobox löschen
ComboBox1.Text = ""
'For/Next Schleife um Combobox mit den Einträgen aus Blatt "Daten" Spalte A
'ohne Duplicat zu füllen.
For Wiederholungen = 2 To Worksheets("Daten").Range("A65536").End(xlUp).Row
If WorksheetFunction.CountIf(Worksheets("Daten"). _
Range("A2:A" & Wiederholungen), Worksheets("Daten"). _
Cells(Wiederholungen, 1)) = 1 Then _
ComboBox1.AddItem Worksheets("Daten").Cells(Wiederholungen, 1)
Next Wiederholungen

End Sub

Private Sub ComboBox1_Change()
'***************************************************************************
'Bei Änderung der ComboBox1
'***************************************************************************
Dim Wiederholungen As Integer
'Alle Einträge in der Combobox löschen
ComboBox2.Clear
'Sichtbaren Eintrag in der Combobox löschen
ComboBox2.Text = ""
'Letzte beschriebene Zeile in Blatt Daten ermitteln
Letzte_Zeile = Sheets("Daten").Range("A65536").End(xlUp).Row
'Ausgewählter Eintrag aus der Combobox in Variable "Auswahl1"
'schreiben
Auswahl1 = ComboBox1.Text
'For/Next Schleife um Combobox mit den Einträgen aus Blatt "Daten"
'Spalte B ohne Duplikat zu füllen.
For Wiederholungen = 2 To Letzte_Zeile
'Wenn der ausgewählte Begriff = dem Eintrag in Spalte A in der Zeile,
'die durch die For/Next Schleife angesprochene Zeile dann...
If Sheets("Daten").Cells(Wiederholungen, 1) = Auswahl1 Then
'...Eintag aus Blatt "Daten" Spalte B der durch die For/Next Schleife
'angesprochenen Zeile in Spalte IV kopieren
Sheets("Daten").Cells(Wiederholungen, 2).Copy Cells(Wiederholungen, 256)
'Duplikate löschen
If WorksheetFunction.CountIf(Range("IV2:IV" & Wiederholungen), _
Cells(Wiederholungen, 256)) = 1 Then _
'Werte in ComboBox eintragen
With ComboBox2
.AddItem Sheets("Daten").Cells(Wiederholungen, 2)
End With
End If
End If
'Nächster Schleifendurchlauf
Next Wiederholungen
'Daten in Spalte IV löschen
Range("IV2:IV" & Letzte_Zeile).ClearContents
End Sub

Private Sub ComboBox2_Change()
'***************************************************************************
'Bei Änderung der ComboBox2
'***************************************************************************
Dim Wiederholungen As Integer
'Alle Einträge in der Combobox löschen
ComboBox3.Clear
'Sichtbaren Eintrag in der Combobox löschen
ComboBox3.Text = ""
'Letzte beschriebene Zeile in Blatt Daten ermitteln
Letzte_Zeile = Sheets("Daten").Range("A65536").End(xlUp).Row
'Ausgewählter Eintrag aus der Combobox in Variable "Auswahl1"
'schreiben
Auswahl2 = ComboBox2.Text
'For/Next Schleife um Combobox mit den Einträgen aus Blatt "Daten"
'Spalte B ohne Duplikat zu füllen.
For Wiederholungen = 2 To Letzte_Zeile
'Wenn der ausgewählte Begriff = dem Eintrag in Spalte B in der Zeile,
'die durch die For/Next Schleife angesprochene Zeile und
'der ausgewählte Begriff aus der Combobox1 = dem Eintrag in Spalte A
'in der Zeile, die durch die For/Next Schleife angesprochene Zeile dann...
If Sheets("Daten").Cells(Wiederholungen, 2) = Auswahl2 And _
Sheets("Daten").Cells(Wiederholungen, 1) = Auswahl1 Then
'...Eintag aus Blatt "Daten" Spalte B der durch die For/Next Schleife
'angesprochenen Zeile in Spalte IV kopieren
Sheets("Daten").Cells(Wiederholungen, 3).Copy Cells(Wiederholungen, 256)
'Duplikate löschen
If WorksheetFunction.CountIf(Range("IV2:IV" & Wiederholungen), _
Cells(Wiederholungen, 256)) = 1 Then _
'Werte in ComboBox eintragen
With ComboBox3
.AddItem Sheets("Daten").Cells(Wiederholungen, 3)
End With
End If
End If
'Nächster Schleifendurchlauf
Next Wiederholungen
'Daten in Spalte IV löschen
Range("IV2:IV" & Letzte_Zeile).ClearContents
End Sub

Private Sub ComboBox3_Change()
'***************************************************************************
'Bei Änderung der ComboBox3
'***************************************************************************
Dim Wiederholungen As Integer
'Alle Einträge in der Combobox löschen
ComboBox4.Clear
'Sichtbaren Eintrag in der Combobox löschen
ComboBox4.Text = ""
'Letzte beschriebene Zeile in Blatt Daten ermitteln
Letzte_Zeile = Sheets("Daten").Range("A65536").End(xlUp).Row
'Ausgewählter Eintrag aus der Combobox in Variable "Auswahl1"
'schreiben
Auswahl3 = ComboBox3.Text
'For/Next Schleife um Combobox mit den Einträgen aus Blatt "Daten"
'Spalte B ohne Duplikat zu füllen.
For Wiederholungen = 2 To Letzte_Zeile
'Wenn der ausgewählte Begriff = dem Eintrag in Spalte C in der Zeile,
'die durch die For/Next Schleife angesprochene Zeile und
'der ausgewählte Begriff aus der Combobox2 = dem Eintrag in Spalte B
'in der Zeile, die durch die For/Next Schleife angesprochene Zeile und
'der ausgewählte Begriff aus der Combobox1 = dem Eintrag in Spalte A
'in der Zeile, die durch die For/Next Schleife angesprochene Zeile dann...
If Sheets("Daten").Cells(Wiederholungen, 3) = Auswahl3 And _
Sheets("Daten").Cells(Wiederholungen, 2) = Auswahl2 And _
Sheets("Daten").Cells(Wiederholungen, 1) = Auswahl1 Then
'...Eintag aus Blatt "Daten" Spalte B der durch die For/Next Schleife
'angesprochenen Zeile in Spalte IV kopieren
Sheets("Daten").Cells(Wiederholungen, 4).Copy Cells(Wiederholungen, 256)
'Duplikate löschen
If WorksheetFunction.CountIf(Range("IV2:IV" & Wiederholungen), _
Cells(Wiederholungen, 256)) = 1 Then _
'Werte in ComboBox eintragen
With ComboBox4
.AddItem Sheets("Daten").Cells(Wiederholungen, 4)
End With
End If
End If
'Nächster Schleifendurchlauf


Sheets("Tabelle1").Range("G4") = Sheets("Daten").Cells(Wiederholungen, 5)



Next Wiederholungen
'Daten in Spalte IV löschen
Range("IV2:IV" & Letzte_Zeile).ClearContents
End Sub

Ähnliche Themen

Hyperlinks im Kombinationsfeld ausführen
fedjo  21.05.2007 - 115 Hits - 9 Antworten

Dokumentenvorlage mit VBA und Kombinationsfeld
christian110187  08.06.2007 - 18 Hits - 1 Antwort

Kombinationsfeld, Auswahl ohne Enter/Tab??
CGAGLEX  05.07.2007 - 182 Hits - 2 Antworten

Kombinationsfeld?!
cora_mg  29.01.2008 - 29 Hits - 2 Antworten

Formular "Kombinationsfeld"
Pede  25.07.2008 - 9 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026