Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
660to664
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
660to664
660to664
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kommentare auswerten /Datumsberechnungen

Kommentare auswerten /Datumsberechnungen
31.08.2005 17:07:50
Rainer
Hallo!
Ich verwalte meine Termine in einer Excel-Arbeitsmappe.
In der Spalte A steht der Termin, in der Spalte C das Thema. Wenn der Termin erledigt ist, trage ich in die Spalte B das aktuelle Datum ein.
Diese erledigten Datensätze werden dann mittels eines Makros gelöscht.
Ich möchte nun, das sich wiederholende Termine (wöchentlich, monatlich, vierteljährlich, jährlich) automatisch kopiert werden, wenn der Termin
erledigt ist.
Dazu möchte ich in der jeweiligen Zeile in der Spalte A einen Kommentar (z.B. 1W für wöchentlich, 3m für vierteljährlich) eintragen.
Bevor der erledigte Termin gelöscht wird, soll die Zeile kopiert werden und in der A-Spalte das neue Datum (z.B. 1 Woche später alt:01.09.05;
neu: 08.09.05) eingetragen werden und in der entsprechenden B-Spalte nichts mehr eingetragen sein.
Leider weis ich nicht, wie Kommentare ausgelesen werden und die Berechnungen mit dem Datum (z.B. jeden Montag, jeden 30. des Monats, jeden 01.
vierteljährlich) funktionieren.
Es wäre prima, wenn Ihr ein paar Ideen hättet.
Danke
Rainer

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

Betreff
Datum
Anwender
Anzeige
AW: Kommentare auswerten /Datumsberechnungen
01.09.2005 10:29:13
Heiko
Hallo Rainer,
guckst du hier, das sollte bei VBA gut als Einstieg helfen.

Sub KommLesen()
Dim datDatum As Date
' Z.B. so für die aktive Zelle
MsgBox ActiveCell.Comment.Text
' Oder so für Zelle A2 ...
MsgBox Range("A2").Comment.Text
MsgBox "Rechnen mit datum z.B. so!", vbInformation
' Eine Woche dazu, Date siehe VBA Hilfe
datDatum = Date + 7
MsgBox datDatum
' Einen Monat dazu, z.B. so, da gibt es aber auch noch viele andere Möglichkeiten.
datDatum = CDate(Day(Date) & " " & Month(Date) + 1 & " " & Year(Date))
MsgBox datDatum
' Ein Jahr dazu, z.B. so, da gibt es aber auch noch viele andere Möglichkeiten.
datDatum = CDate(Day(Date) & " " & Month(Date) & " " & Year(Date) + 1)
MsgBox datDatum
End Sub

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Kommentare auswerten /Datumsberechnungen
01.09.2005 18:07:52
Rainer
Hallo Heiko,
vielen Dank für Deine Tipps. Die haben mir schon sehr viel geholfen. Ich habe jetzt allerdings noch zwei Probleme:
1. Bei Zellen ohne Kommentar wird das Makro mit einem Laufzeitfehler abgebrochen (Laufzeitfehler 91). Gibts es da eine einfache Lösung außer "on error resume next"
2. Bei der Datumsberechnung habe ich Probleme mit dem letzten Tag im Monat. Liegt der aktuelle Termin am 31. und ich springe mit datDatum = CDate(Day(Date) & " " & Month(Date) + 1 & " " & Year(Date)) einen Monat weiter, läuft es auf einen Fehler, da der darauffolgende Monat nur 30 Tage hat. Springe ich dann wieder einen Monat weiter, soll wieder der 31. ausgegeben werden. Problematisch sind natürlich auch der Monat Februar.
Kenn da jemand eine Lösung für die Probleme?
Danke und Gruß
Rainer
Anzeige
1. Frage beantwortet, 2. Frage noch offen.
01.09.2005 21:18:02
Heiko
Hallo Rainer,
zu 1., da kannst du auch NoteText nehmen.

Sub Test()
MsgBox ActiveCell.NoteText
End Sub

Zu 2., mit Datum rechnen ist nicht mein Ding müßte selbst probieren. Lasse die Frage darum mal offen
Gruß Heiko
PS: Rückmeldung wäre nett
AW: 1. Frage beantwortet, 2. Frage noch offen.
02.09.2005 08:05:29
Volker
Hallo Rainer,
das ist bestimmt ein privater Kalender, bei einem dienstlichen macht es
m.E. es nur Sinn, täglich und wöchentlich wiederkehrende Termine zu führen, d.h an bestimmten Wochentagen. Jeder Monatstag ist, außer beim Februar (k. Schaltjahr) definitiv ein anderer Wochentag als der des Vormonats.
Also fallen einige der Termine aufs Wochenende. Oder ist das egal?.
In dem Fall kannst Du ja abfragen, welcher der Folgemonat ist und die entsprechende Anzahl Tage addieren:
Mal ganz grob:
dim monat, tage as integer
monat=month(date) 'Anzahl Tage akt. Monat
select case monat
case monat 1 'auf Jan folgt Feb ;-)
tage=28
case monat 2,4,6,7,9,11,12
tage =31
case else
tage=30
end select
Die Tage addierst du einfach auf das Datum draum und bist genau einen Monat weiter
Vielleicht geht das auch eleganter, aber so sollte es eigentlich klappen.
Gruß
Volker
Anzeige
Danke!
02.09.2005 20:10:07
Rainer
Hallo!
Vielen Dank für Eure Unterstützung.
Hat mir sehr geholfen.
Gruß
Rainer
Gern geschehen (o.T.)
02.09.2005 22:28:15
Volker
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige