Microsoft Excel

Herbers Excel/VBA-Archiv

Blätter automatisch beschriften | Herbers Excel-Forum


Betrifft: Blätter automatisch beschriften von: Sabine
Geschrieben am: 18.01.2010 18:04:02

Liebe Leute,

folgendes Problem: Wir müssen jedes Monat eine Statistik machen, also für jedes Monat eine Excel-Datei mit jeweils einem Blatt pro Tag und geben dort in A3 das Datum ein und müssen dann das Blatt auch noch entsprechend umbenennen.

Jetzt wäre es fein, wenn ich auf dem 1. Blatt nur "01.01." eingeben bräuchte und dann in anderen Blättern automatisch das darauf folgende Datum erscheinen würde und die Blätter auch gleich entsprechend umbenannt würden.

Danke,
Sabine

  

Betrifft: sind die Blätter schon vorhanden? von: robert
Geschrieben am: 18.01.2010 20:22:29

hi,

dh. in jeder datei die tagesblätter schon da, oder
sollen die eingefügt werden?

gruß
robert


  

Betrifft: AW: sind die Blätter schon vorhanden? von: Wolfgang
Geschrieben am: 18.01.2010 20:26:41

Hallo
Kopiere den Code in ein Modul
und verfollstandige den Code
um die Monate

Sub Arbeitsblätter()
Application.DisplayAlerts = False
Dim datum As Date
Dim Monat As String
Dim a
Dim b
Dim i
b = 1
datum = Sheets(1).Range("A3")
a = Month(datum)
If a = 1 Then Monat = "Jan"
If a = 2 Then Monat = "Feb"

For i = Sheets.Count To 2 Step -1
  Sheets(i).Delete
Next i

Sheets(1).Name = Monat & "_" & Format(datum, "mm dd")
  For i = 2 To 31
    datum = datum + 1
    b = Month(datum)
    
    If b > a Then Exit For
        Sheets.Add after:=Worksheets(Worksheets.Count)
        ActiveSheet.Name = Monat & "_" & Format(datum, "mm dd")
        ActiveSheet.Range("A3") = datum
    
    Next i

ActiveSheet.Range "A3" = Monat

Application.DisplayAlerts = True


End Sub
Gruß Wolfgang


  

Betrifft: AW: sind die Blätter schon vorhanden? von: Matthias L
Geschrieben am: 18.01.2010 20:46:54

Hallo Wolfgang

Dir ist aber schon klar das

ActiveSheet.Range "A3" = Monat (nach Next i) einen Fehler verursacht, oder?
Lass diese Zeile weg.

... und prüfe vorher, ob auch ein Datum (ungleich 0) in A3 steht.

Denn wenn A3 leer ist, werden z.B. die Tage im Jan 1900 erstellt
und die "TabellenblattNamen" sehen dann etwas seltsam aus und stimmen nicht mit dem Inhalt aus A3 überein!

Gruß Matthias


  

Betrifft: AW: sind die Blätter schon vorhanden? von: Wolfgang
Geschrieben am: 18.01.2010 20:56:57

Hallo
Hast recht
ist überflüssig
gruß wolfgang


  

Betrifft: nicht schlecht :-).. von: robert
Geschrieben am: 18.01.2010 20:48:04

hi Wolfgang,

mit dieser zeile
ActiveSheet.Name = Format(datum, "mmm") & "_" & Format(datum, "mm dd")
anstatt
'ActiveSheet.Name = Monat & "_" & Format(datum, "mm dd")

erspart man sich die

'If a = 1 Then Monat = "Jan"
'If a = 2 Then Monat = "Feb"

sonst super..

gruß
robert


  

Betrifft: AW: nicht schlecht :-).. von: Wolfgang
Geschrieben am: 18.01.2010 20:53:45

Hi Robert
Danke für den Hinweis

Ich hab den Tipp auch von Luschi aus Klein Paris gefunden
-- Format(CDate("01.01.2010"), "MMMM")

Bin selbst nicht so schnell drauf gekommen
gruß Wolfgang


Beiträge aus den Excel-Beispielen zum Thema "Blätter automatisch beschriften"