Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1040to1044
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

bestehende Tabellenblätter nicht neu datieren

bestehende Tabellenblätter nicht neu datieren
21.01.2009 15:50:58
Don
Hallo zusammen,
. . also,
die Arbeitsmappe hat ein Tabellenblatt für jeden Wochentag (Montag - Freitag) wegen unterschiedlich
bedingter Formatierung.
Per Makro lege ich jeweils ein neues Tabellenblatt der jeweiligen Wochen (Montag - Freitag) an.
Das Makro sorgt dafür, dass das jeweilige Tabellenblatt ans Ende des Arbeitsmappe
gestellt wird, mit der gewünschten Farbe eingefärbt wird und entsprechend benannt und datiert
wird. Das Datum im neu angelegten Tabellenblatt (Zelle B1) wird aus einem weiteren Tabellenblatt bezogen, in dem der gewünschte Montag eingegeben werden muss (TT.MM.JJJJ) die weiteren Zelleninhalte (A2 - A5) werden von Excel berechnet (z. B. Zelle A2 = Zelle A 1 +1).
Leider werden die bisher angelegten Tabellenblätter in derZelle B1 wegen des Zellenbezugs durch das Makro auf das Datum des neu eingegebenen Datums geändert.
Kann man das irgenwie abstellen, sodass das neu eingegebenen Datum nur für die neu anzulegende Woche (Montag - Freitag) gilt?
Hier das Makro:

Sub Woche()
Sheets("Leerformular Mo").Select
Sheets("Leerformular Mo").Copy After:=ThisWorkbook.Sheets(Sheets.Count)
Range("B1:N1").Select
ActiveCell.FormulaR1C1 = "=Date!RC[-1]"
Sheets("Leerformular Mo (2)").Select
ActiveWorkbook.Sheets("Leerformular Mo (2)").Tab.ColorIndex = 35
Sheets("Leerformular Mo (2)").Select
Sheets("Leerformular Mo (2)").Name = "Mo 00.01.2009"
Range("B1:N1").Select
ActiveSheet.Name = Format(Range("B1").Value, "DDD DD.MM.YYYY")
Sheets("Leerformular Di").Select
Sheets("Leerformular Di").Copy After:=ThisWorkbook.Sheets(Sheets.Count)
Range("B1:N1").Select
ActiveCell.FormulaR1C1 = "=Date!R[1]C[-1]"
Sheets("Leerformular Di (2)").Select
ActiveWorkbook.Sheets("Leerformular Di (2)").Tab.ColorIndex = 43
Sheets("Leerformular Di (2)").Select
Sheets("Leerformular Di (2)").Name = "Di 00.01.2009"
Range("B1:N1").Select
ActiveSheet.Name = Format(Range("B1").Value, "DDD DD.MM.YYYY")
Sheets("Leerformular Mi").Select
Sheets("Leerformular Mi").Copy After:=ThisWorkbook.Sheets(Sheets.Count)
Range("B1:N1").Select
ActiveCell.FormulaR1C1 = "=Date!R[2]C[-1]"
Sheets("Leerformular Mi (2)").Select
ActiveWorkbook.Sheets("Leerformular Mi (2)").Tab.ColorIndex = 50
Sheets("Leerformular Mi (2)").Select
Sheets("Leerformular Mi (2)").Name = "Mi 00.01.2009"
Range("B1:N1").Select
ActiveSheet.Name = Format(Range("B1").Value, "DDD DD.MM.YYYY")
Sheets("Leerformular Do").Select
Sheets("Leerformular Do").Copy After:=ThisWorkbook.Sheets(Sheets.Count)
Range("B1:N1").Select
ActiveCell.FormulaR1C1 = "=Date!R[3]C[-1]"
Sheets("Leerformular Do (2)").Select
ActiveWorkbook.Sheets("Leerformular Do (2)").Tab.ColorIndex = 36
Sheets("Leerformular Do (2)").Select
Sheets("Leerformular Do (2)").Name = "Do 00.01.2009"
Range("B1:N1").Select
ActiveSheet.Name = Format(Range("B1").Value, "DDD DD.MM.YYYY")
Sheets("Leerformular Fr").Select
Sheets("Leerformular Fr").Copy After:=ThisWorkbook.Sheets(Sheets.Count)
Range("B1:N1").Select
ActiveCell.FormulaR1C1 = "=Date!R[4]C[-1]"
Sheets("Leerformular Fr (2)").Select
ActiveWorkbook.Sheets("Leerformular Fr (2)").Tab.ColorIndex = 6
Sheets("Leerformular Fr (2)").Select
Sheets("Leerformular Fr (2)").Name = "Fr 00.01.2009"
Range("B1:N1").Select
ActiveSheet.Name = Format(Range("B1").Value, "DDD DD.MM.YYYY")
End Sub


Im freue mich auf eure Hilfe.
Gruß
Don

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bestehende Tabellenblätter nicht neu datieren
21.01.2009 16:09:49
Rudi
Hallo,
dann musst du halt das Datum reinschreiben und keine Formel.

Sub Woche()
Dim i As Integer, dteStart As Date, arrColors
arrColors = Array(35, 43, 50, 36, 6)
dteStart = Sheets("Date").Range("A1")
Application.ScreenUpdating = False
For i = 0 To 4
Sheets("Leerformular " & Format(dteStart + i, "DDD")).Copy _
After:=ThisWorkbook.Sheets(Sheets.Count)
With ActiveSheet
.Range("B1") = dteStart + i
.Tab.ColorIndex = arrColors(i)
.Name = Format(dteStart + i, "DDD DD.MM.YYYY")
End With
Next i
Application.ScreenUpdating = True
End Sub


Gruß
Rudi

Anzeige
AW: bestehende Tabellenblätter nicht neu datieren
21.01.2009 16:43:00
Don
Hallo Rudi,
das läuft ja prima das Makro.
Vielen herzlichen Dank.
Kannst du mir bitte einen Tip (z-B. Buchempfehlung) geben, damit ich bei der VBA Programmierung
vorwärts komme?
Gruß
Don
AW: bestehende Tabellenblätter nicht neu datieren
21.01.2009 18:07:00
Rudi
Hallo,

Kannst du mir bitte einen Tip (z-B. Buchempfehlung) 


kann ich nicht. Ich habe kein VBA-Buch.
Foren lesen, Foren lesen, Foren lesen, ...
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige