Hallo zusammen,
kann ich eine ComboBox fest mit einer Zelle verknüpfen?
…so dass ComboBoxen bei einem Sortiervorgang in meiner Tabelle mit dem „zugehörigen“ Datensatz sortiert werden?
Danke für eure Hilfe.
Viele Grüsse
Johanna
Hallo zusammen,
kann ich eine ComboBox fest mit einer Zelle verknüpfen?
…so dass ComboBoxen bei einem Sortiervorgang in meiner Tabelle mit dem „zugehörigen“ Datensatz sortiert werden?
Danke für eure Hilfe.
Viele Grüsse
Johanna
Kombinationsfelder mitsortieren
kann ich eine ComboBox fest mit einer Zelle verknüpfen?
…so dass ComboBoxen bei einem Sortiervorgang in meiner
Tabelle mit dem „zugehörigen“ Datensatz sortiert werden?
Hi Johanna,
bevor’s unbeantwortet im Archiv verschwindet mal die Nachfrage ob du das immer noch als Problem ansiehst?
M.W. werden doch die Kombinationsfelder mitsortiert wenn du sie mitmarkierst beim Markieren des Sortierbereiches.
Wie auch immer, klar kann man die Kombinationsfelder auch per Vba so mit sortieren daß die obere linke Ecke wieder in der Zellzeile des gleichen Datensatzes steht wie vor der Sortierung. Voraussetzung ist in jeder Datenzeile ein Wert steht, der in dieser Spalte einmalig ist.
Nachfolgend der Code dafür.
Annahme ist, Tabelle steht in A1:Ex, oberste Zeile ist Beschriftungszeile, in Spalte A stehen die einmaligen Werte (Artikelnummer o.ä.), irgendwo in den Zeilen stehen die Kombinationsfelder. Getestet auf XL97 mit je einem Kobinationsfeld aus Formular und Steuerelement-Toolbox.
Gruß
Reinhard
Option explizit
Option Base 1
Sub Sortieren()
Dim C, Anz, CBAnz, Zei,Z
Anz=Activesheet.shapes.count
Redim CBInfo(Anz,2)
For C = 1 To Anz
If Activesheet.Shapes(C).Name Like "Combo\*" Or Activesheet.Shapes(C).Name Like "Drop\*" Then
CBAnz=CBAnz+1
CBInfo(CBAnz,1)=Activesheet.Shapes(C).Name
CBInfo(CBAnz,2)=Cells(Activesheet.Shapes(C).TopLeftCell.Row,1).value
End if
Next C
Zei=Range("A65536").End(xlup).row
Range("A1:E" & Zei).Sort Key1:=Range("A1"), Order1:=xlAscendending, Header:=xlYes, \_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
For C=1 to CBAnz
Z=Application.Worksheetfunction.Match(CBInfo(C,2),Range("A1:A" & Zei,0)
Activesheet.Shapes(C).Top = Cells(Z,1).Top
Next C
End Sub