Registriert seit: 28.05.2017
Version(en): 365
Hi Leute,
ich benötige noch einmal eure Hilfe. Ich habe in Zelle L1 ein Dropdown der vorhandenen Kalenderwochen in Form von "1.KW-31.12.2018". Zusätzlich habe ich 52 Tabellenblätter "1" bis "52".
Ich benötige nun ein Makro, welches das entsprechende Tabellenblatt öffnet, wenn im Dropdown eine Veränderung durchgeführt wird. Bislang bin ich so weit:
Code:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$L$1" Then
Application.EnableEvents = False
Application.Undo
ThisWorkbook.Sheets("???").Activate
Application.EnableEvents = True
End If
End Sub
Das erste Problem ist das Format in L1 (welches ich nicht ändern möchte). Das zweite Problem ist, dass das Makro wissen muss, welchen Eintrag ich im Dropdown ausgewählt habe....
Kann mir da wer helfen?
Gruß und Danke :)
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo,
warum denkst du über die Vorschläge, die du hier bekommst, nicht nach? Die Aufteilung auf einzelne Kalenderwochen macht, wie du siehst, zusätzliche Probleme, die man vermeiden kann.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 28.05.2017
Version(en): 365
Hallo Klaus-Dieter,
natürlich denke ich über die Vorschläge nach. Problem ist jedoch, dass der Aufbau so vorgegeben ist. Ich habe nur die Möglichkeit, ihn ein wenig komfortabler zu machen und das versuche ich hier mit eurer Hilfe.
Registriert seit: 11.04.2014
Version(en): Office 365
15.12.2018, 12:27
(Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2018, 12:28 von Klaus-Dieter.)
Hallo,
du hast doch die mindesten 52 Tabellenblattreiter. Warum willst du die nicht benutzen? Komfortabler geht es gar nicht.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 16.08.2017
Version(en): 2007 / 2010 / Web
Hi,
wozu du den Teil mit Application.Undo brauchst weiss ich nicht. Aber dann so z.B.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n As String
If Target.Address = "$L$1" Then
n = Replace(Mid(Target.Value, 1, 2), ".", "")
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
Sheets(n).Activate
End If
End Sub
oder einfach nur öffnen.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$L$1" Then
Sheets(Replace(Mid(Target.Value, 1, 2), ".", "")).Activate
End If
End Sub
Gruß Elex
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
15.12.2018, 12:35
(Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2018, 12:35 von Kuwer.)
(15.12.2018, 12:29)Elex schrieb: wozu du den Teil mit Application.Undo brauchst weiss ich nicht. ...
bei dieser Salamitaktik wird´s schon mal unübersichtlich:
https://www.clever-excel-forum.de/thread...#pid143255Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• Elex
Registriert seit: 28.05.2017
Version(en): 365
15.12.2018, 12:45
(Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2018, 12:46 von EasY.)
@ Kuwer
aufgrund einer anderen Problematik mit der Datei musste ich umstellen von 52 Excel-Dateien auf 52 Blätter innerhalb einer Mappe - deswegen die erneute Frage. Ist mein jetziger Ansatz noch schlimmer oder wie darf ich das verstehen?
@Klaus-Dieter
Natürlich kann man die Blätter unten nutzen, ich finde das Selektieren in einem Dropdown allerdings komfortabler als das Scrollen nach rechts und links, bis man das gewünschte Blatt gefunden hat. Als nächsten Schritt könnte man einbauen, dass er nur das Blatt einblendet, welches man geöffnet hat. Das schafft noch mehr Übersicht und man kann auch die Blätter finden, in denen man Einstellungen vornehmen kann.
@Elex
Leider funktionieren beide Codes nicht ... woran kann das liegen?
Wenn ihr eine bessere Idee habt, wie ich eine Art Index für die 52 Blätter basteln könnte, wäre ich natürlich sehr zufrieden.
Registriert seit: 10.04.2014
Version(en): Office 2019
(15.12.2018, 12:08)EasY schrieb: Hi Leute,
...
Zusätzlich habe ich 52 Tabellenblätter "1" bis "52".
....
Hallo, ich glaube ich habe dich schon mal gefragt: Warum
52 Tabellenblätter?
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Registriert seit: 11.04.2014
Version(en): Office 365
Hallo Jockel,
er findet es komfortabler.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter,
der Misserfolg ist ein Waisenkind
Richard Cobden
Registriert seit: 28.05.2017
Version(en): 365
@Jockel
Für jede Kalenderwoche ein Blatt , welches nach dem Befüllen als pdf abgespeichert und ausgedruckt werden soll... den Aufbau der Datei kann ich leider nicht ändern.