Anzeige
Archiv - Navigation
1292to1296
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
Inhaltsverzeichnis

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

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.

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige