Registerblätter automatisch mit Datum benennen
#1
Hallo,

ich habe eine Excel Arbeitsmappe die für jeden Tag ein Registerblatt enthält. Das bedeutet, die Mappe für Februar 2018 besteht aus 28 Registerblättern. Nun möchte ich erreichen, das die Registerblätter als Namen automatisch mit Datum versehen werden. Ich habe keine  Idee wie man das hinbekommen kann falls das überhaupt möglich ist. 

Da ich zu diesem Thema recht wenig im Forum gefunden habe (das was ich gefunden habe klappt leider nicht) frage ich hier mal die Experten. Sollte das möglich sein, wäre es super, wenn man mir die Lösung dazu zugänglich machen würde. Falls nicht bedanke ich mich recht Herzlich für die Hilfe.

Gruss
Micha
Top
#2
Hallo Micha,

benenne das erste Blatt mit dem entsprechenden Datum des ersten Tages und starte anschließend folgendes Makro:
Sub BlaetterMitTagenBenennen()
 Dim i As Long
 Dim vDatum As Variant
 vDatum = Sheets(1).Name
 If IsDate(vDatum) Then
   For i = 2 To DateSerial(Year(vDatum), Month(vDatum) + 1, 0)
     Sheets(i).Name = Format(DateSerial(Year(vDatum), Month(vDatum), i), "dd.mm.yyyy")
   Next i
 End If
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Lennox
Top
#3
Hallo Micha,

da es nicht so optimal ist, für jeden Tag ein Tabellenblatt zu erstellen, bin ich nicht sicher, ob dir bei diesem Vorhaben jemand helfen wird. Spätere Probleme beim Versuch Daten auszuwerten werden so vorprogrammiert.

PS: hat sich doch schon jemand gefunden.  :s
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Top
#4
Hallo Uwe,

nach Einfügen des Codes (in ein neues Modul für die Arbeitsmappe) hab ich das gespeichert und das erste Blatt mit einem Datum benannt. jetzt habe ich das Makro gestartet / Ausgeführt. Fehlermeldung war: Fehler beim Kompilieren Erwartet: Bezeichner


Mache ich was falsch ?



Gruss
Micha
Top
#5
Hallo Micha,

(07.02.2018, 19:11)Lennox schrieb: Mache ich was falsch ?

das weiß ich nicht. Blush

Gruß Uwe
Top
#6
Hallo Uwe,

ich habe das hinbekommen. Der Fehler war, das ich die ersten beiden Blätter nicht berücksichtigt habe! In meiner Mappe sind zwei Blätter (entweder am Anfang oder am Ende) welche ihre Namen beibehalten müssen. Wäre es möglich dein Makro so anzupassen das es erst ab Registerblatt 3 gültig ist? also das erste und zweite Registerblatt nicht berücksichtigt. Wäre jedenfalls schön.

Danke für deine Mühe.

Gruss
Micha
Top
#7
Hallo Micha,

wenn das 3. Blatt der 1. des Monats ist, so:
Sub BlaetterMitTagenBenennen()
Dim i As Long
Dim vDatum As Variant
vDatum = Sheets(3).Name
If IsDate(vDatum) Then
For i = 2 To DateSerial(Year(vDatum), Month(vDatum) + 1, 0)
Sheets(i + 2).Name = Format(DateSerial(Year(vDatum), Month(vDatum), i), "dd.mm.yyyy")
Next i
End If
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Lennox
Top
#8
Hallo Uwe,

super, viele Dank für deine Hilfe. Genau das habe ich gesucht. 


Gruss
Micha
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste