1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Excel 2007 VBA: Sheets abhängig vom Datum öffnen?

Discussion in 'Office-Programme' started by TTM_Painkiller, Dec 22, 2010.

Thread Status:
Not open for further replies.
  1. Hallo zusammen,

    Eine Excel-Datei enthält 13 Sheets, darunter 12 mit Monatsnamen (Jan11 ... Dez11). Wie sieht eine VBA Procedure aus, die dafür sorgt, dass beim Öffnen der Datei das Sheet des jeweils aktuellen Monats geöffnet wird?

    Zusatzfrage:
    Das 13. Sheet soll standardmäßig ausgeblendet sein und nur mit Passwort eingeblendet werden. Gibt es dafür auch eine Procedure?

    Vielen Dank für eure Tipps.
     
  2. WirdSchon

    WirdSchon Byte

    Für Teil eins des Postings könntest Du als Ansatz mal das hier nehmen. Ich bin davon ausgegangen, dass die "Jan11" auch die Jahreszahl beinhaltet. Sollte die Mappe immer nur ein Jahr beinhalten eigentlich eher störend.
    Bei März bin ich mir nicht sicher was ausgegeben wird. Testen.

    Das mit dem 13. Blatt kann man evtl. auch lösen, ich mache das meist nur über "very Hidden" im VBA Editor. Das lässt sich kaum umgehen. Insofern ist die PW Abfrage eher Augenwischerei.

    Code:
    Sub Aktuell()
        Dim Blaetter As Object
        Dim Monat As String
        Dim Jahr As String
        
        Set Blaetter = ThisWorkbook.Worksheets 'Auflistung aller in der Mappe befindlichen Blätter
        Monat = Format(Date, "MMM") 'Variable mit der Kurform des aktuellen Monats
        Jahr = Format(Date, "YY") 'Variable für die 2Stellige Jahreszahl
        
        For Each Blatt In Blaetter
            If Blatt.Name = Monat & Jahr Then Blatt.Select 'wird kein passendes Blatt gefunden, keine Aktion
        Next
        
        Set Blaetter = Nothing
    End Sub
    
    
     
  3. Vielen Dank!
    Werde mal weiter basteln ;).
     
  4. Beverly

    Beverly Halbes Megabyte

    Hi

    zu Frage 1: völlig unkompliziert
    Code:
    Private Sub Workbook_Open()
        Worksheets(Format(Date, "mmmyy")).Select
    End Sub
    
    zu Frage 2: wie bzw.wann soll das Tabellenblatt eingeblendet werden - beim Öffnen der Arbeitsmappe oder mit einem gesonderten Makro? Wäre es vielleicht denkbar, anstelle eines Passwortes den Benutzernamen zu verwenden? Du musst aber generell bedenken, dass in Excel nichts sicher ist - du kannst zwar z.B. dein Projekt mit einem Passwort schützen, sodass niemand das ausgeblendete Tabellenblatt sehen kann, aber an jeder Ecke im Internet gibt es kostenlose Knackprogramme.
     
Thread Status:
Not open for further replies.

Share This Page