Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
284to288
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
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro zum erstellen von Registerblättern

Makro zum erstellen von Registerblättern
22.07.2003 14:42:04
Wolf
Folgendes Makro zum Datum auslesen und anschließendem erstellen
von Tabellenblättern. Klappt leider nicht über Monatsgrenzen hinaus.
Was könnte ich verbessern??
Public

Sub lesen()
Dim anfang As Date
Dim differenz As Integer
anfang = Worksheets(1).Range("a1").Value
differenz = Day(Worksheets(1).Range("a2").Value) - Day(Worksheets(1).Range("B2").Value) + 1
Dim zaehler As Integer
zaehler = 0
While zaehler < differenz
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "" & Day(anfang) + zaehler & "." & Month(anfang) & "." & Year(anfang)
zaehler = zaehler + 1
Wend
Sheets(1).Activate
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro zum erstellen von Registerblättern
22.07.2003 15:57:45
wolf
Es soll aus Zelle a1 das Anfangs- und aus Zelle a2 das Enddatum auslesen
und dann von Anfangs- bis Enddatum pro Tag ein Tabellenblatt anlegen.
Problem ist, dass das nicht über den 30. bzw. 31. hinaus klappt!!

AW: Makro zum erstellen von Registerblättern
22.07.2003 16:14:57
wolf
Sorry, bin kein VBA-Checker.
Was soll das "d" bedeuten??
Wo lese ich mein Anfangs- und Enddatum aus?

AW: Makro zum erstellen von Registerblättern
22.07.2003 16:31:12
wolf
Perfekt, läuft einwandfrei!!
Vielen Dank für die schnelle Hilfe,
wolf

AW: Makro zum erstellen von Registerblättern
22.07.2003 16:26:00
Nepumuk
Hallo Wolf,
das d bedeutet die Differenz in Tagen (day) des ersten und zweiten Datums. Das Anfangsdatum steht in Zelle A1 das Enddatum in Zelle A2. Die Schleife läuft so lange, wie Tage zwischen dem Anfangsdatum und Enddatum liegen. Der Tabellenname ergibt sich aus den Anfangsdatum plus den Schleifenwert. Ich habe es noch einmal geändert, um es etwas schneller zu machen.

Option Explicit
Public Sub Tabellen_generieren()
Dim index As Integer
Application.ScreenUpdating = False
For index = 0 To DateDiff("d", Worksheets(1).Cells(1, 1), Worksheets(1).Cells(2, 1), 2, 2)
Worksheets.Add After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Worksheets(1).Cells(1, 1) + index
Next
Worksheets(1).Activate
Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk

Anzeige
AW: Makro zum erstellen von Registerblättern
22.07.2003 16:08:26
Nepumuk
Hallo Wolf,
versuch es mal so:

Option Explicit
Public Sub Tabellen_generieren()
Dim index As Integer
Application.ScreenUpdating = False
For index = 1 To DateDiff("d", Worksheets(1).Cells(1, 1), Worksheets(1).Cells(2, 1), 2, 2) + 1
Worksheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Worksheets(1).Cells(1, 1) + index - 1
Next
Worksheets(1).Activate
Application.ScreenUpdating = True
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk

Anzeige
AW: Makro zum erstellen von Registerblättern
22.07.2003 15:55:22
Nepumuk
Hallo Wolf,
was soll das Makro denn genau machen? Ich bekomme meist ziemlichen Unsinn dabei raus.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige