Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kommentare in Kalender
#1
Hallo liebe Gemeinde

Ich habe ein Kalender mit Terminen.
Nun suche ich eine Lösung, die Termine als Kommentar einzufügen.

Kommentar sollte lauten:
Datum: TT.MM.JJJJ
Wann: hh:mm
Was: Text aus Spalte

Danke für Eure Hilfe


Angehängte Dateien
.xlsm   Terminkalender.xlsm (Größe: 72,88 KB / Downloads: 15)
Antworten Top
#2
Hallo,
 
die passende Zelle zu finden und etwas ins Kommentarfeld zu schreiben ist eigentlich simpel. Was die Sache umständlich macht ist, dass du in den Zellen kein Datum drinstehen hast. 
Man kriegt auch so was hin, wenn man jeden Monat einen Range zuweist. Das ist eigentlich nur noch Fleißarbeit und umständliches Codeschreiben.
 
Baue die Formeln so um, dass ein echtes Datum in der Zelle steht. Die Zelle formatierst du auf einstellige Tageszahl: "T".
Dann kann man den Range entweder mit .Find und wichtig Dateserial die zutreffende Zelle finden.
 
Ein Beispiel mit hänge ich ran.

.xlsm   Zelle 5.Dez. markieren.xlsm (Größe: 15,16 KB / Downloads: 5)

Gruß Uwe
Antworten Top
#3
Erstmal vielen Dank für den Hinweis/Vorschlag
Antworten Top
#4
Hallo liebe Gemeinde

Ich habe folgenden Code:
Code:
Sub kommentar()

Worksheets("Kalender").Unprotect 'Blattschutz aufheben

Dim Zelle As Range
Dim Bereich As Range
Dim Notiz As Comment

For Each Notiz In Tabelle1.Comments
Notiz.Delete
Next Notiz

Set Bereich = Tabelle1.Range("AJ1:AP47")

For Each Zelle In Bereich

If Zelle.Value = Range("AF9") Then

skommentar = "Was:" & vbLf & Range("AH9") & vbLf & vbLf & "Wann:" & vbLf & Format(Range("AG9"), "hh:mm") & " Uhr"
   
    'Zelle.Offset(0, 1).Value 'Zelle rechts daneben

Zelle.AddComment.Text skommentar

End If

Next Zelle

Worksheets("Kalender").Protect 'Blattschutz aufheben

End Sub

In der gefundenen Zelle rechts daneben stehen Koordinaten als Text zB. A1.
Wie bekomme ich es hin, dass das Kommentar in A1 gesetzt wird?

Danke
Antworten Top
#5
Hat sich erledigt!
Die Lösung: Range(Zelle.Offset(0, 1)).AddComment.Text skommentar
Antworten Top
#6
...letztendlich könnte man für einen Kalender, ganz ohne VBA und Excel bemühen zu müssen, den in Outlook integrierten Kalender nutzen. 
Aber ja, ich weiß Excel kann auch Bildbearbeitung und Musik und.... es ist vollkommen unerklärlich, weshalb die anderen Programme notwendig sind....
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#7
Folgender Code:
Code:
Sub kommentar()

Worksheets("Kalender").Unprotect 'Blattschutz aufheben

If MsgBox("Wollen Sie alle Termine aktualisieren?" & vbLf & vbLf & "Dies kann etwas dauern!", vbYesNo) = vbYes Then

Dim Zelle As Range
Dim Bereich As Range
Dim Notiz As Comment

For Each Notiz In Tabelle1.Comments
Notiz.Delete
Next Notiz

Set Bereich = Tabelle1.Range("AJ9:AW1000")

For Each Zelle In Bereich

'Termin 1
If Zelle.Value = Range("AF9") And Range("AF9") <> "" Then
skommentar1 = "Was:" & vbLf & Range("AH9") & vbLf & vbLf & "Wann:" & vbLf & Format(Range("AG9"), "hh:mm") & " Uhr"
Range(Zelle.Offset(0, 1)).AddComment.Text skommentar1
End If

'Termin 2
If Zelle.Value = Range("AF10") And Range("AF10") <> "" Then
skommentar2 = "Was:" & vbLf & Range("AH10") & vbLf & vbLf & "Wann:" & vbLf & Format(Range("AG10"), "hh:mm") & " Uhr"
Range(Zelle.Offset(0, 1)).AddComment.Text skommentar2
End If

'usw.


Next Zelle

MsgBox "Alle Termine wurden aktualisiert!"

End If

'Worksheets("Kalender").Protect 'Blattschutz aufheben


End Sub
Funzt soweit alles.
Nur wenn das Datum auf den 1. fällt, dann gibt es kein Kommentar.

Weiß jemand die Lösung?
Antworten Top
#8
...echt jetzt? Du definierst einen Bereich, benutzt eine Schleife und darin klapperst Du knapp 1000 Bedingungen einzeln ab?

Code:
Set Bereich = Tabelle1.Range("AJ9:AW1000")

For Each Zelle In Bereich

'Termin 1
If Zelle.Value = Range("AF9") And Range("AF9") <> "" Then
skommentar1 = "Was:" & vbLf & Range("AH9") & vbLf & vbLf & "Wann:" & vbLf & Format(Range("AG9"), "hh:mm") & " Uhr"
Range(Zelle.Offset(0, 1)).AddComment.Text skommentar1
End If

'Termin 2
If Zelle.Value = Range("AF10") And Range("AF10") <> "" Then
skommentar2 = "Was:" & vbLf & Range("AH10") & vbLf & vbLf & "Wann:" & vbLf & Format(Range("AG10"), "hh:mm") & " Uhr"
Range(Zelle.Offset(0, 1)).AddComment.Text skommentar2
End If

'usw.

Da solltest Du wirklich besser auf Outlook zurückgreifen. Oder noch besser einen Taschenkalender benutzen.

Die Schleife ließe sich wesentlich verkürzen:

Code:
For Each Zelle In Bereich

'Alle Termine
If Zelle.Value = Range("AF" & zelle.row) And Range("AF" & zelle.row) <> "" Then
skommentar1 = "Was:" & vbLf & Range("AH " & zelle.row ) & vbLf & vbLf & "Wann:" & vbLf & Format(Range("AG " & zelle.row ), "hh:mm") & " Uhr"
Range(Zelle.Offset(0, 1)).AddComment.Text skommentar1
End If
next
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

Antworten Top
#9
Hallo,
 
unabhängig von deinem bisherigen Stand, habe ich in deiner hochgeladenen Datei mal eine Prozedur basierend auf Ranges per Monat eingebaut.
Ansonsten gilt natürlich wie ich bereits weiter oben geschrieben hatte: Arbeite mit echtem Datum und Zelle(n) entsprechend formatiert.

.xlsm   Terminkalender.xlsm (Größe: 80,04 KB / Downloads: 3)
 
Gruß Uwe
Antworten Top
#10
Genial!

Hab es noch etwas umgebaut.

Allerdings ist mir aufgefallen, wenn man zB. das Jahr 2023 einstellt und den 29.2.23 den es ja nicht gibt als Termin einträgt. dann markiert er den 23.2.23

Kann man solche Fehler noch abfangen?


Angehängte Dateien
.xlsm   Terminkalender(1).xlsm (Größe: 80,8 KB / Downloads: 1)
Antworten Top


Gehe zu:


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