Automatische Userform mit bedingten Auswahlmöglichkeiten

08/03/2010 - 10:03 von Der_Soern | Report spam
Hallo,

Ich versuche gerade mir meine Arbeit zu erleichtern und stehe vor folgendem
Problem.

Ich habe eine Exceltabellenblatt dass ich jedes Mal umformatieren muss und
das kostet mich jede Woche 30 Minuten. Das làppert sich.

Hier mein Problem:

Ich kopiere dieses Blatt in eine Datei die ich vorbereitet habe und zwar
wird aus den Daten dann Tabellenblatt 2. Hier làuft dann ein Automatismus der
den jeweiligen Spalten einen Autofilter verpasst. Soweit so gut.
Ich habe jetzt versucht in das erste Tabellenblatt eine Userform zu setzen
die mir folgende Auswahl ermöglicht.

1. Nach wie vielen Kriterien ich suchen möchte

2. Auf basis der Auswahl 1 soll eine Anzahl Dropdowns gezeigt werden in
denen die Spaltenüberschriften stehen

3. Soll das ganze dann in ein neues Tabellenblatt geschrieben werden.


Das klappt bei mir einfach nicht.
Ich hab schon nach einzelnen Teilen gesucht und hab schon einige weitere
Probleme lösen können (ob elegant ist eine andere Frage), aber hier komme ich
nicht weiter.
 

Lesen sie die antworten

#1 Andreas Killer
08/03/2010 - 12:23 | Warnen spam
On 8 Mrz., 10:03, Der_Soern
wrote:

2. Auf basis der Auswahl 1 soll eine Anzahl Dropdowns gezeigt werden in
denen die Spaltenüberschriften stehen


...
Das klappt bei mir einfach nicht.


Soweit ich das erraten kann liegt das Problem wohl bei der dynamischen
Erstellung der Steuerelemente?

Ich mach Dir mal ein simples Beispiel einer Userform die die erste
Zeile eines Tabellenblattes liest und je Zelle eine Checkbox
hinzufügt.

Damit hàttest Du den ersten Part, ob Du nun Checkboxen oder ComboBoxen
erzeugst ist im Prinzip wurscht. Um nacher (beim Click auf einen
Commandbutton) die Auswahl einfach auswerten zu können speicherst Du
Sie in einer Collection ab, die Du dann durchlaufen kannst.

Ich vermute es ist unnötig zu sagen das Dein Vorhaben sehr komplexe
Formen annehmen kann. Falls nicht solltest Du zuerst an einfachen
Beispielen üben.

Andreas.

'Höhe des Userformtitels
Private Const Titel = 19

Private Sub UserForm_Initialize()
Dim X As Long, W As Single
Dim C As Control

'Durchlaufe erste Zeile des aktuellen Blattes
For X = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
'Zelle leer?
If Not IsEmpty(Cells(1, X)) Then
'Checkbox hinzufügen
Set C = Me.Controls.Add("Forms.CheckBox.1")
'Namen vergeben
C.Caption = Cells(1, X)
'Positionieren
C.Top = C.Height * (X - 1) + 3
'Max. Breite holen
W = WorksheetFunction.Max(W, C.Width)
End If
Next
'Größe der Userform anpassen
With Me
.Height = C.Top + C.Height + 3 + Titel
.Width = W + 3
End With
End Sub

Ähnliche fragen