Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1836to1840
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
Inhaltsverzeichnis

Arbeitsblätter ein/ ausblende

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Arbeitsblätter ein/ ausblenden
05.07.2021 09:44:05
Andy
Hallo alle zusammen,
Ich bräuchte mal eine Kleine Unterstützung durch unsere VBA-Spezialisten, die mir bei meinem
Problem sicherlich helfen können. Leider kenne ich mich selbst nicht wirklich so gut damit aus.
In einer Arbeitsmappe werden auf Basis eines Sheetd, welches als Vorlage dient, für jeden Tag ein neues Tabellenblatt erstellt, in das tagesaktuelle Daten eingetragen werden sollen. Es gibt also irgendwann 365 Tabellen, die nach ihrem Tag in der Form (dd.mm.yyyy) benannt werden. Bei 365 Tagen verliert man dann schon mal den Überblick !
Jetzt hätte ich gerne, dass zum einen beim Start der Arbeitsmappe das aktuelle Tagesblatt angezeigt wird und nur die letzten zb 7-Tage (wobei die 7 variabel über das setup-sheet eingestellt werden sollen.
Dann bräuchte ich noch Makros, die mir auf dem tabellenblatt die Möglichkeit bieten, jeweils vor und zurück zu Blättern, so dass immer nur die letzten 7 Tage vom aktiven Sheet erscheinen.
Bombe wäre, wenn man auf dem aktiven tabellenblatt auch noch ein Datum eingeben könnte (zb durch n DatePicker / Excel 2019) oder ein Textfeld, so dass man im Dezember nicht 300 mal
Klicken muss, bis man im Januar ist.
Ich hoffe das kam einigermaßen verständlich rüber. Ich lade mal eine Beispielmappe hoch, auf der ich auf den Vorlagenblatt für die Tage die Steuerelemente hinterlegt habe.
Wäre klasse, wenn mich da jemand unterstützen könnte. Vielen Dank schon im Voraus.
Anzeige
Vermutlich möchte keiner der Helfer ...
05.07.2021 12:38:40
lupo1
... 365 Blätter in einer Arbeitsmappe unterstützen.
Denn das ist nicht so, wie man in der DV normalerweise arbeitet.
Vielleicht wollte migre genau dies mit der "Melange" ausdrücken.
AW: Vermutlich möchte keiner der Helfer ...
05.07.2021 12:50:57
Andy
Danke für dein Feedback…
Ich denke, dass ich mich da glaub falsch ausgedrückt habe. Es soll ja niemand 365 Blätter bearbeiten … das wollte ich damit ja gar nicht darstellen. Es geht nur um das Blatt mit der Vorlage… die anderen Blätter habe ich zur veranschaulich und zum Test hin gemacht …
Es geht ja nur um ein Makro, das mir von einem Datum die letzten 7 anzeigt … den Rest ausblendet.
Aus dem vorlagenblatt werden dann die tagesblätter kreiert - das bekomme ich selbst hin.
Anzeige
AW: Vermutlich möchte keiner der Helfer ...
05.07.2021 12:55:13
Andy
Danke für dein Feedback…
Ich denke, dass ich mich da glaub falsch ausgedrückt habe. Es soll ja niemand 365 Blätter bearbeiten … das wollte ich damit ja gar nicht darstellen. Es geht nur um das Blatt mit der Vorlage… die anderen Blätter habe ich zur veranschaulich und zum Test hin gemacht …
Es geht ja nur um ein Makro, das mir von einem Datum die letzten 7 anzeigt … den Rest ausblendet.
Aus dem vorlagenblatt werden dann die tagesblätter kreiert - das bekomme ich selbst hin.
AW: Vermutlich möchte keiner der Helfer ...
05.07.2021 13:03:26
Andy
Ich hoffe es ist nun bisschen verständlicher.
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 13:37:27
Daniel
HI
kennst du den rechten Mausklick auf die Scrollpfeile links neben den Registerkarten?
dann erscheint ein kleines Fenster, mit dem man etwas komfortabler durch die Blätter navigieren kann.
vielleicht reicht dir ja das schon aus.
Gruß Daniel
Anzeige
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 14:08:07
Andy
Ja ich kenne den schon, aber leider nicht die ganzen Anwender, die damit arbeiten sollen … daher bleibt mir nur og Schritt
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 15:12:06
Daniel
naja die Anwender darüber zu informieren, dass es das gibt, sollte jetzt nicht das Problem sein.
ist ja definitiv nur ein Mausklick, den man kennen muss.
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 14:41:09
Daniel
HI
prinizpell würde ich bei 365 zu erwartenden Blättern keine Buttons verwenden, sondern über das BeforeDoubleIKlick-Event bestmmten Zellen die Button-Funktionalität zuweisen.
damit das auch für alle Blätter gilt, verwendet man das Modul "DieseArbeitsmappe".
Die dort hinterlegten Event-Makros gelten automatisch für alle Blätter der Mappe (Ausnahmen kann man durch abfragen erzeugen), egal wie viele man hinzufügt.
schau dir mal das Beispiel an:
https://www.herber.de/bbs/user/146955.xlsm
das ist der Code für das ganze im Modul "Diese Arbeitsmappe"

Sub AnzeigeTB_Blatt(DatumBis As Date)
Dim Anz As Long
Dim DatumTBl As Date
Dim DatumAb As Date
Dim Sh As Worksheet
Dim Anzeigen As Long
Anz = Range("AnzTage").Value
DatumAb = DatumBis - Anz
For Each Sh In Me.Worksheets
If IsDate(Sh.Name) Then
DatumTBl = CDate(Sh.Name)
Anzeigen = CLng(DatumTBl >= DatumAb And DatumTBl  Anzeigen Then Sh.Visible = Anzeigen
If CDate(Sh.Name) = DatumBis Then Sh.Select
End If
Next
End Sub
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim wsh As Worksheet
Dim Datum As Date
If Not Intersect(Target, Sh.Range("A2:E2")) Is Nothing Then
Cancel = True
Select Case Target.Value
Case "heute": Call AnzeigeTB_Blatt(Date)
Case "": If IsDate(Sh.Name) Then Call AnzeigeTB_Blatt(CDate(Sh.Name) + 1)
Case "alle"
For Each wsh In Me.Worksheets
If IsDate(wsh.Name) Then If wsh.Visible  xlSheetVisible Then wsh.Visible = xlSheetVisible
Next
Case Else
End Select
End If
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address(0, 0) = "C2" Then
If IsDate(Target.Value) Then Call AnzeigeTB_Blatt(Target.Value)
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Ausgelöst wird es über die Zellen A2:E2 in den Mappen, in diesen muss der entsprechende Text oder das Datum stehen.
Gruß Daniel
Anzeige
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 14:47:08
Andyy
Du bist ein Genie.... genauso habe ich mir das vorgestellt. Das ist perfekt !
Klar das mit dem Double-Click ist gewöhnungsbedürftig, aber durchaus praktikabel.
Schade, dass das nicht mit diesen Buttons geht.
Aber - Perfekt, wirklich...
Gibts die Möglichkeit auch noch mit diesem DatePicker? Oder macht man das seit 2019 nicht mehr ?!
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 15:08:49
Daniel
Hi
das geht schon mit Buttons.
du musst nur aus jedem Case-Fall im BeforeDoubleClick-Event ein eingenständiges Marko machen, welches du dann dem jeweiligen Button zuweist.
ich finde das bei vielen Blättern halt nicht praktikabel, da sollten die Blätter so "clean" wie möglich sein.
Obs den Date&Time-Picker noch gibt, weiß ich nicht. Excel 2016 hat ihn als ActiveX-Control, man muss ihn aber über "weitere Steuerelemente" auswählen.
bei ActiveX-Controls wirds dann aber mit der Programmierung schiwieriger, weil da wahrscheinlich jeder Picker seine eigene Programmierung haben will.
Generell solltest du hier überlegen, die Blattsteuereung ggf über eine Userform zu machen.
Die ist permanent sichtbar, dh du brauchst keine Buttons oder Doppelklickzellen in den Blättern.
Gruß Daniel
Anzeige
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 15:39:13
Andyy
Eine Kleinigkeit ist mir noch aufgefallen.
Wenn man ein Blatt eingibt, das es nicht gibt, blendet es alle Tagesblätter aus.
Kann man das umgehen, dass sich dann nichts ändert und zb. ne Messagebox sagt: He, das Blatt gibts nicht.
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 15:57:57
Daniel
kann man machen.
da musst du halt ne Schleife vorschalten, die über alle Blätter läuft und prüft ob das Blatt vorhanden ist.
Gruß Daniel
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 16:01:06
Andyy
...guter Rat ist teuer :) Das mit der Schleife bekomme ich wohl beim Geburtstagsgeschenk alleine hin :)
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 16:22:08
Daniel
du hattest doch VBA-Gut geschrieben.
da setze ich ein paar Programmierkenntnisse voraus.
außerdem hast du ja meinen Code, an dem du dich orientieren kannst.
da ist ja auch eine Schleife über die Blätter drin, in der das Datum des jeweiligen Tabellenblatts ermittelt wird.
Ansonsten kannst du dir ja überlegen, ob es einfacher für dich ist was zu programmieren oder den Kollegen den Klick mit der rechten Maustaste zu erklären.
(das es einfacher ist, andere für ich programmieren zu lassen, ist logisch...)
Gruß Daniel
Anzeige
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 16:29:40
Andyy
Gut ist bei VBA sicherlich nicht zutreffend. Excel gut, aber schrieb ich im Anfangsthread ja, dass ich da Hilfe brauche.
Es ist für einen gemeinnützigen Verein, wo wir unsere Einsätze protokollieren wollen und dachte, ich kann das ohne VBA. Leider weit gefehlt...
wird schon irgendwie klappen.
Danke trotzdem für den ersten Teil. Damit kann ich schon weitermachen...
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 18:07:05
Daniel
naja, du hast VBA-Gut als deinen Level angegeben.
Ich erwarte schon, dass du dir die hier gezeigten Codes auch anschaust und versuchst zu verstehen.
eine Abfrage, ob das gewählte Datum schon vorhanden ist, kann man so in das Change-Event einbauen
(muss dann vor dem anderen eingefügt werden)

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
dim wsh as worksheet
If Target.Address(0, 0) = "C2" Then
if isdate(Target.value) then
for each wsh in me.Worksheets
if isdate(wsh.name) then
if Cdate(wsh.name) = target.value then Exit for
end if
next
if wsh is nothing then
Msgbox "Datum nicht vorhanden"
else
Call AnzeigeTB_Blatt(Target.Value)
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
end if
Else
msgbox "Bitte korrektes Datum eingeben"
end if
end if
end sub

Anzeige
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 19:25:37
Andyy
Daniel, Danke Dir wirklich.
Ja das habe ich wohl falsch eingegeben am Anfang. Ich beschäftige mich schon den ganzen Nachmittag mit dem Problem... Aber irgendwie seh ich den Wald vor lauter Bäumen nicht. Super, so wollt ich das haben!
Danke
AW: Arbeitsblätter ein/ ausblenden
05.07.2021 14:52:35
Andyy
Nochmal vielen vielen Dank Daniel... Hast mir echt geholfen!
Möchte der Herr noch eine Melange dazu? owT
05.07.2021 09:46:51
migre
Warum beteiligst du Dich eigentlich..
05.07.2021 10:19:32
Andy
… wenn deinerseits außer heiße Auspuffluft nur Threads durcheinander gebracht werden….
Ja, ich stell Deinen Beitrag gern auf offen...
05.07.2021 10:27:24
migre
...damit Dir geholfen werden kann.
Gern geschehen,
LG Michael
AW: Ja, ich stell Deinen Beitrag gern auf offen...
05.07.2021 14:51:53
Andyy
Nachdem Daniel so tolle Vorarbeit geleistet hat, kannst Du gerne mit deiner "Melange" kommen und den Reiter des Tabellenblatt des heutigen Tages bitte in Rosa einfärben! Wäre doch mal eine Aufgabe ;)
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige