Von |
Koppinka |
eMail |
|
Am |
04. Februar 2008 um 16:16:01 |
Frage |
Hallo an die Experten,
habe nun eine ganze Weile in der Excel- VBA- Hilfe und hier im Forenarchiv verbracht, bin aber nirgends auf eine Lösung gestoßen, die mir weiter hilft wie folgt:
Habe ein Workbook mit etlichen Tabellen- und Diagrammblättern, die ich per Code anzahlmäßig erweitern kann, auch die neuen Blätter jeweils ans Ende oder vor ein bestimmtes Blatt stellen geht. Was ich gern möchte ist per Buttonklick die Tabellenblätter (samt Inhalt) nach ihren Blattnamen sortieren (aufsteigend nach Alphabet bzw. Ziffernfolgen)
Beispielname: VC1464_12_25_WE_RMS [nm]
Welche Möglichkeiten hätte ich da?
Wenn ich schon mal hier bin: Ich habe bei einem Spinbutton einen "Schönheitsfehler" in der sonst funktionierenden Ausführung: - Der Spinbutton zählt nach Indexnummern auf- und abwärt, überspringt nach Vorgabe verschiedene Werte und fängt am Ende wieder oben oder rückwärts am Anfang wieder unten an - Der "Schönheitsfehler" liegt darin, dass ich beim Wiedereinstieg von oben oder unten den ersten Wert sofort, den zweiten Wert aber erst nach dem 2. Klick sehe.
Folgende Codes: Im Formular:Private Sub SpinButton4_Enter() Dim Programm As Workbook Set Programm = ThisWorkbook With Programm.Worksheets("Hilfsgrößen") SpinButton4.Value = .Range("L14") End With End Sub Private Sub SpinButton4_SpinDown() Modul05.SpinButton4_1 Modul05.Überspringen_1 Modul05.SpinButton4_2_1 Modul05.SpinButton4_3 End Sub Private Sub SpinButton4_SpinUp() Modul05.SpinButton4_1 Modul05.Überspringen_2 Modul05.SpinButton4_2_2 Modul05.SpinButton4_3 End Sub Im Modul05Option Explicit Dim Programm As Workbook Dim iSpA As Integer Sub SpinButton4_1() Set Programm = ThisWorkbook Auswertung_WLI.SpinButton4.Min = 11 Auswertung_WLI.SpinButton4.Max = 35 With Programm.Worksheets("Hilfsgrößen") .Range("L14") = Auswertung_WLI.SpinButton4.Value 'Modul05.Überspringen End With Set Programm = Nothing End Sub Sub SpinButton4_2_2() Set Programm = ThisWorkbook With Programm.Worksheets("Hilfsgrößen") If .Range("L14") < 35 Then Auswertung_WLI.SpinButton4.Value = .Range("L14") Else .Range("L14") = 11 Auswertung_WLI.SpinButton4.Value = .Range("L14") Modul05.Überspringen_2 End If End With Set Programm = Nothing End Sub Sub SpinButton4_2_1() Set Programm = ThisWorkbook With Programm.Worksheets("Hilfsgrößen") If .Range("L14") > 11 Then Auswertung_WLI.SpinButton4.Value = .Range("L14") Else .Range("L14") = 35 Auswertung_WLI.SpinButton4.Value = .Range("L14") Modul05.Überspringen_1 End If End With Set Programm = Nothing End Sub Sub SpinButton4_3() Set Programm = ThisWorkbook iSpA = Programm.Worksheets("Hilfsgrößen").Range("L14") With Programm.Worksheets("Hilfsgrößen") .Range("K40") = .Cells(iSpA, 11) If .Cells(iSpA, 11) = " " Then Auswertung_WLI.TextBox98 = " " Else Auswertung_WLI.TextBox98 = .Range("K40") End If Auswertung_WLI.TextBox98 = .Range("K40") End With Set Programm = Nothing End Sub Sub Überspringen_2() Set Programm = ThisWorkbook iSpA = Programm.Worksheets("Hilfsgrößen").Range("L14") With Programm.Worksheets("Hilfsgrößen") For iSpA = iSpA To 35 If .Cells(iSpA, 10) = "grün" Then .Range("K40") = .Cells(iSpA, 11) GoTo weiter Else .Range("L14") = iSpA + 1 End If Next iSpA End With weiter: End Sub Sub Überspringen_1() Set Programm = ThisWorkbook iSpA = Programm.Worksheets("Hilfsgrößen").Range("L14") With Programm.Worksheets("Hilfsgrößen") For iSpA = iSpA To 11 Step -1 If .Cells(iSpA, 10) = "grün" Then .Range("K40") = .Cells(iSpA, 11) GoTo weiter Else .Range("L14") = iSpA - 1 End If Next iSpA End With weiter: End Sub Kann wahrscheinlich nur eine Kleinigkeit sein.
Danke im Voraus.
Koppinka |
|