Hi Uwe,
sorry hat etwas länger gedauert...
Habe jetzt ausführlich getestet. Das ist der Richtige weg. Das hast du richtig gut gemacht!!!!!
Könnte man ein paar kleine veränderungen machen, die für mich wichtig sind?
1) Kann man die Userform auf dem Blatt "Ruf" fest sichtbar machen? Nur auf diesem Blatt! Kann auch mittels eines Buttons sichtbar gemacht werden. Natürlich muss dann auch noch ein Schließen Button da eingefügt werden.
Hintergrund ist das ich das öffnen über Fn F2 zu umständlich finde. Und sie sich oben so am Rand öffnet. Da auf der Tabelle noch ca 10 Leute arbeiten werden, befürchte ich da sonst komplikationen....
2) Ist es möglich, das ich auch eine zweite, dritte oder mehrere Tabellenblätter öffnen kann? Wenn ich es jetzt so mache dann schließt sich das zuletzt angesehene Tabellenblatt. Hintergrund ist, das oft z.B. Juli und August die Zahlen verglichen werden. Das wäre für uns alle dann einfacher.
3) Kann man es auch so programmieren das ich in dem Fenster "Auswahl Monat" mit der Mouse scrollen kann?
LG Reiner
Hallo Reiner,
Zu 1.
Drücken der F2 Taste sollte eigentlich nur bei stark eingeschränkter Sehkraft oder Alkohol im Übermaß ein Problem darstellen.
Du kannst aber die Userform "ShowModal" auf False setzen. Damit kann man mit der geöffneten Userform in den Tabellen weiterarbeiten.
Zu 2.
Ist es nicht besser den ganzen Senf (beliebige Auswahl / Anzahl Worksheets) ins Ribbon Band zu verlegen. Das verdeckt dann nicht mehr die Tabellenblätter.
Zu 3.
Prinzipiell geht das über Eingriff in die API. Ich rate aber davon ab. Es gibt genügend Vorlagen dazu im Netz. Leider kann es bei ungünstiger PC-Konfiguration zur Absturzneigung führen. Man kann ja eh nur die 12 Arbeitsblätter auswählen.
Zum Thema Ribbon Band:
Ich kann dir das zwar in diese Datei schreiben, wird dir wohl aber nur informativ was nützen, da du in deine Originaldatei du das selbst ins Ribbon einbauen musst.
Da sehe ich das nächste große Problem.
Um die Userform mit dem aktivieren des Worksheets Ruf zu starten trage ins Modul von Ruf folgendes ein:
Code:
Option Explicit
Private Sub Worksheet_Activate()
Frm_WahlTabellenblaetter.Show
End Sub
Gruß Uwe
Ist doch schon in Excel eingebaut
Rechtsclick die Blättertasten:
Was ist das für eine Excel-Version, snb?
Ich kenne es seit Ewigkeiten so, dass ein Dialog erscheint.
Hier bei Excel 365:
[
attachment=40551]
Hallo Reiner,
anbei mein Vorschlag zur Umsetzung, sowie ich es weiter oben dir mal vorgeschlagen hatte.
Gruß Uwe
@RPP
Excel2028
Und: Excel 95, Excel 98, Excel 2000, Excel 2003, Excel 2007, Excel 2008, Excel 2010.
Nur in nicht-registrierte Versionen.
Hallo Uwe, ich muss das Thema noch mal kurz auffrischen!
Erstmal vielen Dank für deine/diese tolle Arbeit, da bin ich vor lauter testen und ausprobieren gar nicht zu gekommen, dir zu Danken.
Deine Userform hilft mir sehr!!
Seit Tagen hänge ich aber an folgendem Problem:
Ich habe deine Userform
(Im Blatt Ruftabellen) in meine Originaltabelle eingebaut. Klappt Tadellos!
Aber folgendes mysteriöses Problem, meine Mappe hat
14 Tabellen, also 8 mehr wie deine Mappe die du mir geschickt hast. Diese Tabellen sind dann leider in deiner Userform sichtbar, aber das schlimme ist, wenn ich z.b. auf (Jan A Kasse)
klicke, verschinden unten 9 Tabellenblätter. Dann darf ich nicht speichern und ich muß die Mappe neu starten. Das sollte eben nicht sein.
Kannst du da noch mal schauen
Ich hoffe ich habe es so verständlich erklärt
Kann vieleicht jemand anders mir helfen? Es ist sehr wichtig für mich, Danke an alle
Hallöchen,
im Code vom Userform --> Private Sub Initialisieren() hast Du so was:
...
If Wks.Name = "Kundenkarten" Or Wks.Name = "Daten" Or Wks.Name = "Paysafecard" Then GoTo Weiter
...
Du müsstest das um die 8 neuen Blätter erweitern
Hallo,
ich hoffe mal, dass nicht noch mehr an Änderungen kommen. Es ist eigentlich nur ein bisschen Rechnen, was erforderlich wäre, um das richtig einzustellen.
anbei die zu ändernden Subs deiner letzten Datei.
Code:
Private Sub Lbx_Jahr_Click()
AlleWks
Cbo_Monat.Clear
Lbl_Monat.Visible = True
With Cbo_Monat
.Visible = True
.Value = valCbo
End With
If Lbx_Jahr.ListIndex = 0 Then
j = 15
k = 14
End If
If Lbx_Jahr.ListIndex = 1 Then
j = 3
k = 26
End If
For i = LBound(Tbl_Blatt) + k + 1 To UBound(Tbl_Blatt) - j
Cbo_Monat.AddItem Tbl_Blatt(i)
Next i
End Sub
Code:
Private Sub Initialisieren()
Dim arrJahr As Variant
Application.ScreenUpdating = False
'arrJahr = Array(2021, 2022)
AlleWks
For Each Wks In ThisWorkbook.Worksheets
ReDim Preserve Tbl_Blatt(i)
Tbl_Blatt(i) = Wks.Name
i = i + 1
Next Wks
Cbo_Monat.Clear
For i = LBound(Tbl_Blatt) To UBound(Tbl_Blatt)
Cbo_Monat.AddItem Tbl_Blatt(i)
Next i
With Lbx_Jahr
.Clear
.AddItem "A Kasse"
.AddItem "B Kasse"
End With
Cbo_Monat.Visible = False
Lbl_Monat.Visible = False
Application.ScreenUpdating = True
'Me.StartUpPosition = 0
End Sub
Wenn du noch mehr Tabellenblätter einfügst oder welche löschst, was zu befürchten ist, muss j und k entsprechend angepasst werden.
Ich verstehe nicht, was da kompliziert dran ist.
Gruß Uwe
Anbei noch deine Datei: