Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

ComboFeld (Bedingung) mit Daten verknüpfen


Betrifft: ComboFeld (Bedingung) mit Daten verknüpfen von: Enrico Vales
Geschrieben am: 13.04.2017 10:29:59

Hi,

ich habe ein Combofeld (ToolBox) im Userform. Dieses habe ich schon automatisch befüllen lassen. Aber bei mir haperts an der Auswertung und zwar:

Ich habe ein Tabelle mit 6 Spalten. Aus den Werten der ersten Spalte wird die Combobox befüllt:

Private Sub UserForm_Initialize()

Dim intI As Integer
Dim lZeile2 As Long, lRow2 As Long

Worksheets("ToolStageData").Activate
    lRow2 = Cells(Rows.Count, 1).End(xlUp).Row
    lZeile2 = (lRow2 - 1) + 1
    
    intI = 1
    
With Me.ToolBox
    For intI = 5 To lZeile2
       .AddItem Worksheets("ToolStageData").Cells(intI, 1) 
        
    Next

End With

End Sub

Die Tabelle wird dynamisch befüllt.
Mein eigentliches Problem besteht aber, dass weiterfolgende Berechnungen sich auf die Spalten B bis F beziehen, wenn A ausgewählt wurde.
D.h. wenn man beispielsweise A6 auswählt, dann soll im weiteren Schritt eine andere Zelle mit B6 bspw. addiert werden. Wenn A7 ausgewählt, dann halt B7.

With MeineTabelle

For X = 2 And y = 1 To lZeile 'Step 5

.Cells(X, 1) = Worksheets("CoordToolStage").Cells(y + 1, 3).Value + ??? bzw. wenn in ComboBox Wert ausgewählt, der gleich A6 in Tabelle, dann B6

lngWert = lngWert + 1
y = y + 1

Next
End With

Ich komm da grad nicht weiter....

Danke euch schon mal!!

  

Betrifft: AW: ComboFeld (Bedingung) mit Daten verknüpfen von: ChrisL
Geschrieben am: 13.04.2017 10:58:35

Hi Enrico

Was jetzt genau ausgerechnet werden soll verstehe ich nicht. Aber da deine ComboBox Liste mit der Tabellenliste übereinstimmt (keine Lücken), kannst du den ListIndex verwenden. Der erste Wert der ComboBox hat ListIndex 0 (null) ergibt mit 5 addiert die Zeilenzahl.

Private Sub Toolbox_Change()
Dim Zeile As Long

Zeile = Toolbox.ListIndex + 5
With Worksheets("ToolStageData")
    .Cells(Zeile, 3) = .Cells(Zeile, 3) + .Cells(Zeile, 2)
End With
End Sub

Private Sub UserForm_Initialize()
Dim intI As Integer
Dim lRow2 As Long

With Worksheets("ToolStageData")
    lRow2 = .Cells(Rows.Count, 1).End(xlUp).Row
    For intI = 5 To lRow2
       Me.Toolbox.AddItem .Cells(intI, 1)
    Next intI
End With
End Sub
Sofern die ComboBox eine Mehrfachauswahl (Multi-Select) erlaubt, müsste man ggf. noch umschreiben.

cu
Chris


Beiträge aus den Excel-Beispielen zum Thema "ComboFeld (Bedingung) mit Daten verknüpfen"