Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
872to876
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
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleife vereinfachen

Schleife vereinfachen
30.05.2007 14:33:45
Specke
Hallo Experten,
ich habe ein Makro geschrieben, in dem ich 4 Sub's habe, die das gleiche machen, nur die Speichervariablen sind unterschiedlich benannt.
Ich wollte das Makro vereinfachen und die Sub' nur einmal aufschreiben und die Variablen als Parameter mitgeben. Leider bekomme ich das nicht hin.
Hier eine Kurzform der Sub:

Sub Auswirkung_ok_Click()
j = 1
For i = 1 To UF_Auswirkung.Controls.Count - 1
If UF_Auswirkung.Controls("CheckBox" & i) = True Then
CheckBox_Name = UF_Auswirkung.Controls("CheckBox" & i).Caption
k = InStr(1, CheckBox_Name, " / ")
Auswirkung_deutsch(j) = Left(CheckBox_Name, k)
Auswirkung_englisch(j) = Right(CheckBox_Name, Len(CheckBox_Name) - k - 2)
j = j + 1
End If
Next i
If j > 1 Then
Auswirkung_gewählt = True
Anzahl_Auswirkung = j - 1
End If
UF_Auswirkung.Hide
End Sub


Auswirkung müsste ersetzt werden durch Grund, Status oder Auftrag.
Im Moment fällt mir keine elegante Lösung ein :-(
Vielen Dank und Gruß
Specke

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife vereinfachen
30.05.2007 23:27:47
Sven
Hi,
"Grund, Status oder Auftrag."
Seh ich das richtig, dass das Userforms sind?
mfg Sven

AW: Schleife vereinfachen
31.05.2007 10:34:34
Specke
Hallo Sven,
ja und nein.
Es gibt
4 Userforms UF_Auswirkung, UF_Status usw.
4 Variablen Auswirkung_gewählt, Stauts_gewählt, Grund_gewählt usw.
4 Variablen Anzahl_Auswirkung, Anzahl_Grund, Anzahl_Status usw.
4 Variablen Auswirkung_deutsch(), Grund_deutsch() usw.
4 Variablen Auswirkung_englisch(), Grund_englisch()
Die Variablen möchte ich, wenn möglich alle mit einer Variablen XYZ erschlagen.
Z.B. so (funzt aber net)
XYZ=Auswirkung
XYZ & _gewählt=true , Anzahl_ & XYZ=5 usw.
Die Userforms sind nicht so wichtig, das könnte ich über eine dynamische Userform abfangen.
Gruß Specke

Anzeige
AW: Schleife vereinfachen
31.05.2007 15:38:08
Specke
Hallo,
ich hab's!
Variable Parameter kann die Werte 1 bis 4 annehmen:
Auswirkung=1, Grund=2, Status=3, Auftrag=4

Sub Allgemein_ok_Click()
j = 1
For i = 1 To UF_Allgemein.Controls.Count - 1
If UF_Allgemein.Controls("CheckBox" & i) = True Then
CheckBox_Name = UF_Allgemein.Controls("CheckBox" & i).Caption
k = InStr(1, CheckBox_Name, " / ")
deutsch(Parameter,j) = Left(CheckBox_Name, k)
englisch(Parameter,j) = Right(CheckBox_Name, Len(CheckBox_Name) - k - 2)
j = j + 1
End If
Next i
If j > 1 Then
gewählt(Parameter) = True
Anzahl(Parameter) = j - 1
End If
UF_Allgemein.Hide
End Sub


Gruß Specke

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige