11.10.2019, 13:54
(Dieser Beitrag wurde zuletzt bearbeitet: 11.10.2019, 14:40 von WillWissen.
Bearbeitungsgrund: Tippfehler "Makto's" verbessert
)
Moin moin
Zuerst mal ich habe nicht viel Erfahrung/wissen von Makros. Die Letzen Tage habe ich mich etwas eingearbeitet und mithilfe des Forums einiges hin bekommen.
Ich muss tägliche Berichte für meinen Job schreiben, dafür habe ich folgendes hin bekommen:
Kurz um: Ich öffne die Exel Datei, drücke STRG+Y . Es wird eine neue Mappe erstellt, ein leeres Formular wird dort eingefügt und das Aktuelle Datum in die Zeile "K4" eingefügt. Des weiteren wird der Name der Mappe ebenfalls in das aktuelle Datum geändert. So weit so gut.
Hier der Code:
--------------------------------------------
Sub Start_Bericht()
'
' Start_Bericht Makro
' Kopieren & Öffnen
'
' Tastenkombination: Strg+y
'
Sheets("Start").Select
Range("A1:N38").Select
Selection.Copy
Range("K4") = Date
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
ActiveSheet.Name = Range("K4")
End Sub
--------------------------------------------------------------------------------
Jetzt möchte ich gerne das der das Automatisch macht, sobald ich es öffne. Das habe ich zwar hin bekommen.
Aber wenn ich es 2 o. 3 mal am Tag öffne , eröffnet er jedes mal eine neue Mappe und es erscheint der Fehler das die Mappen nicht den selben Namen haben können. (Ist mir klar)
Also muss ich es hin bekommen das der erkennt, dass die Mappe bereits vorhanden ist. Dazu habe ich folgendes gefunden und probiert:
-------------------------------------------------------
Sub Nur_Einmal()
If Sheets("01.01.2019").Range("K4") > Date Then
MsgBox ("Das war für Heute das letzte mal")
Else
MsgBox ("Tschüss bis Morgen")
End If
Sheets("Tabelle1").Range("K4") = Date
End Sub
!!! Das ist fehlerhaft !!!
-------------------------------------
Private Sub Workbook_Open()
Call Nur_Einmal
Call Start_Bericht
End Sub
.............................
Das funktioniert aber nicht wirklich.
"If Sheets("01.01.2019").Range("K4") > Date Then" , ich weiß nicht wie ich nach dem "If Sheets" die Mappe betiteln soll. Mit einem Datum geht nicht (weil es ja jeden Tag sich ändert)
Ist es verständlich was ich möchte und wo mein Problem liegt?
mfg.: Tobias
Zuerst mal ich habe nicht viel Erfahrung/wissen von Makros. Die Letzen Tage habe ich mich etwas eingearbeitet und mithilfe des Forums einiges hin bekommen.
Ich muss tägliche Berichte für meinen Job schreiben, dafür habe ich folgendes hin bekommen:
Kurz um: Ich öffne die Exel Datei, drücke STRG+Y . Es wird eine neue Mappe erstellt, ein leeres Formular wird dort eingefügt und das Aktuelle Datum in die Zeile "K4" eingefügt. Des weiteren wird der Name der Mappe ebenfalls in das aktuelle Datum geändert. So weit so gut.
Hier der Code:
--------------------------------------------
Sub Start_Bericht()
'
' Start_Bericht Makro
' Kopieren & Öffnen
'
' Tastenkombination: Strg+y
'
Sheets("Start").Select
Range("A1:N38").Select
Selection.Copy
Range("K4") = Date
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
ActiveSheet.Name = Range("K4")
End Sub
--------------------------------------------------------------------------------
Jetzt möchte ich gerne das der das Automatisch macht, sobald ich es öffne. Das habe ich zwar hin bekommen.
Aber wenn ich es 2 o. 3 mal am Tag öffne , eröffnet er jedes mal eine neue Mappe und es erscheint der Fehler das die Mappen nicht den selben Namen haben können. (Ist mir klar)
Also muss ich es hin bekommen das der erkennt, dass die Mappe bereits vorhanden ist. Dazu habe ich folgendes gefunden und probiert:
-------------------------------------------------------
Sub Nur_Einmal()
If Sheets("01.01.2019").Range("K4") > Date Then
MsgBox ("Das war für Heute das letzte mal")
Else
MsgBox ("Tschüss bis Morgen")
End If
Sheets("Tabelle1").Range("K4") = Date
End Sub
!!! Das ist fehlerhaft !!!
-------------------------------------
Private Sub Workbook_Open()
Call Nur_Einmal
Call Start_Bericht
End Sub
.............................
Das funktioniert aber nicht wirklich.
"If Sheets("01.01.2019").Range("K4") > Date Then" , ich weiß nicht wie ich nach dem "If Sheets" die Mappe betiteln soll. Mit einem Datum geht nicht (weil es ja jeden Tag sich ändert)
Ist es verständlich was ich möchte und wo mein Problem liegt?
mfg.: Tobias