Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Tabellenblätter ausblenden/einblenden





Frage

Summ,Summ, wende mich mal, nach langem Grübeln über das Problem, auf diesem Wege, an alle die mehr Ahnung (in diesem Fall von Makros/VBA)haben. Wie ist es möglich, ausgeblendete Tabellenblätter (in diesem Fall 11 Stück, Februar 04 - Dezember 04) anhand des Systemdatums automatisch einzublenden, wenn der jeweilige Monat begonnen hat. Für eine Lösung/Möglichkeit wäre ich dankbar. MfG In diesem Sinne immer volle Honigtöpfe JJ

Antwort 1 von nighty

hi alle

kleines beispiel
anhand des aktuellen datums wird auf die jeweilige tabelle geschaltet beim oeffnen der datei

tabellenname = 1.1
oder
tabellenname = 1.12

usw.

gruss nighty

Private Sub Workbook_Open()
a$ = Mid$(Date$, 4, 3) + Mid$(Date$, 1, 3) + Mid$(Date$, 7, Len(Date$) - 4)
b$ = Mid$(a$, 1, 2) + "." + Mid$(a$, 4, 2)
c$ = b$
If Mid$(a$, 4, 1) = "0" Then c$ = Mid$(b$, 1, 3) + Mid$(b$, 5, 2)
If Mid$(a$, 1, 1) = "0" Then c$ = Mid$(b$, 2, Len(b$))
Sheets(c$).Select
End Sub

Antwort 2 von Frank1_ohne

Hallo Biene,

erstelle ein neues Modul mit dem Namen

sub auto_open()

und kopiere folgenden Code rein:


Sub auto_open()
    
Dim i As Integer

For i = 1 To 11

    If Month(Date) > i Then
    
        Sheets("Tabelle" & CStr(i + 1)).Visible = True

    End If
        
Next i

End Sub


Das setzt das Vorhandensein der Tabellen "Tabelle1 bis Tabelle12" voraus, ist jetzt etwas mit der heißen Nadel gestrickt und sollte auf deine Bedürfnisse angepaßt werden, aber es sollte nur das Prinzip verdeutlichen.

mfg frank

Antwort 3 von nighty

hi alle

hier vielleicht was du moechtest :)

sind zwei makro

gruss nighty

Private Sub Workbook_Open()
Call Makro01
End Sub

Sub Makro01()
Dim mon$(12)
mon$(1) = "Januar04"
mon$(2) = "Februar04"
mon$(3) = "März04"
mon$(4) = "April04"
mon$(5) = "Mai04"
mon$(6) = "Juni04"
mon$(7) = "Juli04"
mon$(8) = "August04"
mon$(9) = "September04"
mon$(10) = "Oktober04"
mon$(11) = "November04"
mon$(12) = "Dezember03"
a% = Val(Mid$(Date$, 1, 2))
Sheets(mon$(a%)).Select
End Sub

Antwort 4 von Biene Maja

Hallo Frank,

habe leider nicht angegeben, dass ich von VBA/Makros so gut wie keine Ahnung habe. Bislang ist es mir nur gelungen, mit der Makroaufzeichnung kleinere Makros "schreiben zu lassen". Bin insofern blutiger Anfänger.
Deinen Code habe ich im Microsoft Visuel Basic als neues Modul eingegeben. Nach Abspeichern und Neustart der Datei erscheint folgende Meldung:

"Laufzeitfehler '9'

Index außerhalb des gültigen Bereichs"

Bei Start des Debuggers wird die Zeile

"Sheets ("Tabelle" & CStri (i+1)) Visible = True"

markiert.
Für diese Programmierung bin ich leider noch zu blöd. Ist es möglich das Problem aus der Ferne und evtl. einfacher zu lösen.

Vielen Dank für die promte Antwort

MfG

JJ

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: