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

Forumthread: Aus drei ComboBoxen ausgew. Daten in Tab. ändern

Aus drei ComboBoxen ausgew. Daten in Tab. ändern
04.01.2013 01:30:58
Nico
Hallo Leute,
ich habe mir ein kleines Macro gebastelt, über welches ich nach Abhängigkeit Dreier ComboBoxen Werte aus einer Tabelle abfrage und diese Werte in TextBoxen einlese. Mein Problem ist nun, dass ich die TextBoxen ändern kann und will aber die aktuellen Werte nicht in die Tabelle bekomme. Würde mich freuen, wenn ihr mir helfen könntet. Vorab besten Dank.
Datei liegt bei.
https://www.herber.de/bbs/user/83241.xlsm

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Aus drei ComboBoxen ausgew. Daten in Tab. ändern
04.01.2013 10:20:40
Rudi
Hallo,
das ist ziemlich unausgegoren.
Wie stellst du sicher, dass es nur einen Eintrag zur Kombination A&B&C gibt?
Wenn es so ist:
Dim lngRow As Long
Private Sub CommandButton2_Click() 'aktuelle Daten der TextBoxen übernehmen
If lngRow > 0 Then
With Worksheets("Tabelle1").Rows(lngRow + 1)
.Cells(4) = TextBox1
.Cells(5) = TextBox2
.Cells(6) = TextBox3
.Cells(7) = TextBox4
End With
End If
End Sub
Private Sub ComboBox1_Enter()
ComboBox1.List = SVERWEISSPECIAL(rngBereich, 1)
ComboBox2.Clear
ComboBox3.Clear
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
lngRow = -1
End Sub
Private Sub ComboBox2_Enter()
On Error Resume Next
ComboBox2.List = SVERWEISSPECIAL(rngBereich, 2, Array(1), Array(ComboBox1))
On Error GoTo 0
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
lngRow = -1
End Sub
Private Sub ComboBox3_Enter()
On Error Resume Next
ComboBox3.List = SVERWEISSPECIAL(rngBereich, 3, Array(2), Array(ComboBox2))
On Error GoTo 0
lngRow = -1
End Sub
Private Function SVERWEISSPECIAL(Matrix As Range, AusgabeSpalte As Integer, Optional  _
KriteriumSpalten As Variant = 0, Optional KriteriumWerte As Variant = 0) As Variant
Dim arr As Variant
Dim DicOut As Object
Dim strVgl1 As String
Dim strVgl2 As String
Dim i As Long
Dim k As Long
On Error GoTo Ende
Set DicOut = CreateObject("Scripting.Dictionary")
arr = Matrix.Value
If Not IsArray(KriteriumSpalten) Or Not IsArray(KriteriumWerte) Then
For i = 1 To UBound(arr)
If arr(i, AusgabeSpalte)  "" Then _
DicOut(arr(i, AusgabeSpalte)) = ""
Next
Else
For k = 0 To UBound(KriteriumWerte)
strVgl1 = strVgl1 & "'#$#" & KriteriumWerte(k)
Next
For i = 1 To UBound(arr)
strVgl2 = ""
For k = 0 To UBound(KriteriumSpalten)
strVgl2 = strVgl2 & "'#$#" & arr(i, KriteriumSpalten(k))
Next
If arr(i, AusgabeSpalte)  "" Then
If strVgl1 = strVgl2 Then
DicOut(arr(i, AusgabeSpalte)) = ""
lngRow = i
End If
End If
Next
End If
If DicOut.Count > 0 Then
arr = DicOut.Keys
QSort arr, LBound(arr), UBound(arr)
SVERWEISSPECIAL = arr
End If
Exit Function
Ende:
SVERWEISSPECIAL = ""
End Function

Gruß
Rudi

Anzeige
AW: Aus drei ComboBoxen ausgew. Daten in Tab. ändern
04.01.2013 13:23:29
Nico
Hallo Rudi,
herzlichen Dank für die schnelle Antwort und die 1. Hilfe. Mit meiner Erfahrung kann das Ganze nicht professionell und einfach gestrickt sein. Über eine bessere und einfachere Lösung (Datei bzw Code) würde ich mich immer freuen. Optimal wäre, wenn deine Frage sichergestellt werden kann, was bedeutet, dass die ComboBoxen wie drei aufeinanderfolgende Autofilter arbeiten würden.
Kriterium 1 = Compobox1 (doppelte Werte in der gesamten Spalte sind vorhanden)
Kriterium 2 = Compobox2 (doppelte Werte in der Spalte sind vorhanden)
Kriterium 3 = Compobox3 (doppelte Werte in der Spalte können vorhanden sein)
Gruß Nico

Anzeige
Verständnissfrage?
08.01.2013 08:35:43
Klaus
Hi Nico,
ich bau jetzt die Datei nicht nach, nur eine kurze Frage:
wie drei aufeinanderfolgende Autofilter arbeiten
Du willst also den Autofilter simulieren. Warum nutzt du nicht einfach den Autofilter?
Filterkriterum 1 = Combobox1 usw, danach dürfte nur noch ein Wert übrig sein. Den findest du mit end(xlup), prüfst noch eben ob du aus versehen in der Überschriftenzeile gelandet bist oder ob es doch noch mehrere Werte gibt, und kopierst dann die "aktive" Zeile.
Grüße,
Klaus M.vdT.

Anzeige
AW: Aus drei ComboBoxen ausgew. Daten in Tab. ändern
04.01.2013 13:42:27
Nico
.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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