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

Nachricht an Hajo

Nachricht an Hajo
29.07.2007 18:35:47
Mat
Hallo Hajo,
nachdem der Beitrag verschwunden war, hab ich ihn nochmal ins Formum gestellt. Der Code funktioniert jetzt mit der Ausnahme, dass wenn das Enddatum über die Datumsgrenze hinaus geht die Dauer auf 30 min. begrenzt wird.
Läßt sich da was machen oder geht es grundsätzlich nicht wenn die Datumsgrenze überschritten wird?
Gruß Mat
Sub WriteCalendar() Dim SpalteStart, SpalteEnde, iRow Dim olApp As Outlook.Application Dim olNS As Outlook.Namespace Dim olCal As Outlook.MAPIFolder Dim olApt As AppointmentItem 'Dim iRow As Integer Set olApp = CreateObject("Outlook.Application") Set olNS = olApp.GetNamespace("MAPI") On Error Resume Next Set olCal = olNS.GetDefaultFolder(olFolderCalendar).Folders("Training") If Err Then Set olCal = olNS.GetDefaultFolder(olFolderCalendar).Folders.Add("Training") Err.Clear End If iRow = 4 Do Until IsEmpty(Cells(iRow, 1)) Set olApt = olApp.CreateItem(olAppointmentItem) If IsEmpty(Cells(iRow, 9)) Then SpalteStart = 13 Else SpalteStart = 9 'Änderung der Stalte wenn _ I gleich leer If IsEmpty(Cells(iRow, 10)) Then SpalteEnde = 14 Else SpalteEnde = 10 'Änderung der Stalte wenn _ J gleich leer If IsEmpty(Cells(iRow, SpalteStart)) = False And IsEmpty(Cells(iRow, SpalteEnde)) = False Then ' _ Zulassung wenn Start und Ende enthalten sind With olApt .Start = Cells(iRow, 2).Value + Cells(iRow, SpalteStart).Value .End = Cells(iRow, 2).Value + Cells(iRow, SpalteEnde).Value .Subject = "Dienst" .Location = Cells(iRow, 7).Value .Body = Cells(iRow, 19).Value & " Streifenpartner" .BusyStatus = olBusy .ReminderMinutesBeforeStart = 120 .ReminderSet = True .Save .Move olCal End With End If iRow = iRow + 1 Loop ERRORHANDLER: Set olApt = Nothing Set olCal = Nothing Set olNS = Nothing Set olApp = Nothing End Sub


20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nicht Hajo, der Ersteller des Code ist gefragt
29.07.2007 18:40:23
Hajo_Zi
Hallo Mat,
ich hatte schon geschrieben das der Ersteller des Code gefragt ist.

AW: nicht Hajo, der Ersteller des Code ist gefragt
29.07.2007 18:45:00
Mat
Hallo Hajo,
der Code stammt von der Herbers Excel CD! Wer kann helfen?
Gruß Mat

AW: Nachricht an Hajo
29.07.2007 18:43:00
Ramses
Hallo
was verstehst du unter
"...wenn das Enddatum über die Datumsgrenze ..."
Die Datumsgrenze liegt in der nähe der Phillipinen, um genau zu sein auf dem 180 Längengrad ?
Gruss Rainer

AW: Outlook Termine
29.07.2007 19:14:00
Mat
Hallo Rainer,
ich meine die Uhrzeit! z. B. Terminbeginn 20:00 Uhr Terminende 02:00 Uhr. Das Ende ist einen Tag später und hat das Datumsgrenze überschritten!
Gruß Mat

Anzeige
AW: Outlook Termine
29.07.2007 20:04:55
Ramses
Hallo
Ich verstehe das Problem nicht.
Outlook erstellt in diesem Fall 2 Termine
1. Startzeit bis 00:00
2. 00:00 bis Endzeit
Das habe ich gerade ausprobiert
Gruss Rainer

AW: Outlook Termine
29.07.2007 20:25:00
Mat
Hallo Rainer,
wenn ich als Startzeit 20:00 Uhr und als Endzeit 23:00 eingebe wird korrekte
Startzeit: 20:00 Uhr
und
Endzeit: 23:00 Uhr
geschrieben.
Wenn ich als Startzeit 20:00 Uhr und als Endzeit 02:00 eingebe wird
Startzeit: 20:00 Uhr
falsche
Endzeit: 20:30 Uhr geschrieben.
Ich benötige die genaue Start- und Endzeit. Das Anlegen des Termines zu irgend einer fiktiven Zeit reicht mir leider nicht aus.
Vielleicht hat ja noch jemand eine Lösung!
Gruß Mat

Anzeige
AW: Outlook Termine
29.07.2007 20:31:00
Ramses
Hallo
"...Endzeit: 20:30 Uhr geschrieben...."
Warum sollte Outlook das machen ?
Überprüfe mal ob deine Zell-/Zeitberechnung korrekt ist.
"...Das Anlegen des Termines zu irgend einer fiktiven Zeit reicht mir leider nicht aus..."
Das ist keine fiktive Zeit, sondern diejenige die du an Outlook übergibst.
Gruss Rainer

AW: Outlook Termine
29.07.2007 20:47:27
Mat
Hallo Rainer,
ist aber so!! Ich gebe die Zeiten manuel in die Zellen ein. Sobald die Endzeit nach Mitternacht liegt, schreibt Outlook genau 30 Min. später als Endzeit!
Ich mach für heute Feierabend.
Gruß Mat

AW: Outlook Termine
29.07.2007 21:12:24
Renee
Hello Mat,
Es ist erstaunlich, was Leute mit Level Excel gut bis Excel Profi für Schwierigkeiten mit Zeitrechnungen haben.

Ersetze
.End = Cells(iRow, 2).Value + Cells(iRow, SpalteEnde).Value
Mit:
.End = Cells(iRow, 2).Value + IIf(Cells(iRow, SpalteEnde).Value 


Greetz Renee

Anzeige
AW: Outlook Termine
30.07.2007 10:07:47
Mat
Hallo Renee,
Super, danke Dir genau das wars!!!
Hatte zwar kein Problem mit dem Zeitrechnen, dafür aber mit VBA, was ich ja mit beischeiden angegeben habe!
Irgendwie scheinen Fragen in Verbindung mit Outlook nicht besonders beliebt zu sein. Ich hatte in einem Beitrag die Frage, wie ich alle Termine in Outlook aus Excel herraus löschen kann, um keine Doppeleinträge bei Terminänderung zu haben, nur wenige Antworten erhalten, welche jedoch nicht zum Erfolg geführt hatten.
Nochmals besten Dank für die Hilfe
Mat

Du hast ein Rechenproblem...
29.07.2007 21:18:33
Ramses
Hallo
Deine

 CDEF
15Deine Variante Ergebnis 
1620:0000:3020:30 
17    
18Das ist das Ergbenis von   
19.End = Cells(iRow, 2).Value + Cells(iRow, SpalteEnde).Value   
20    
21    
22    
23    
24Meine Variante   
2520:0000:3000:30 
26    
27    

Formeln der Tabelle
ZelleFormel
E16=C16+D16
E25=WENN(D25<C25;D25;C25+D25)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
... und am falschen Termin ist garantiert nicht EXCEL oder Outlook schuld
Gruss Rainer

Anzeige
AW: Du hast ein Rechenproblem...
30.07.2007 10:16:17
Mat
Hallo Rainer,
ich weiß nicht warum Du unbedingt die Endzeit in der Tabelle ausrechnen willst, obwohl es sich um feste Eingaben handelt, welche mit dem bisherigen Code beim Überschreiten von Mitternacht nicht richtig eingetragen wurden.
Renee hat im vorherigen Beitrag die Lösung gebracht, jetzt funktioniert es einwandfrei!
Trotzdem danke für jede Hilfe
Viele Grüße
Mat

AW: Du hast ein Rechenproblem...
30.07.2007 15:14:00
Ramses
Hallo
"...ich weiß nicht warum Du unbedingt die Endzeit in der Tabelle ausrechnen willst..."
Du hast es nicht kapiert :-)
Mein Beispiel sollte ledigliche verdeutlichen wie falsch du rechnest und was dabei herauskommt.
Ich dachte du kämest dann selbst drauf.
Gruss Rainer

Anzeige
AW: Du hast ein Rechenproblem...
30.07.2007 15:20:17
Mat
Hallo Rainer,
ich will keine Endzeit ausrechnen sondern schlicht einen Wert an Outlook übergeben welcher in der Tabelle steht. Wie gesagt, das ganze funktioniert jetzt wie gewünscht!
Gruß Mat

AW: Du hast ein Rechenproblem...
30.07.2007 18:14:42
Ramses
Hallo
"...ich will keine Endzeit ausrechnen sondern schlicht einen Wert an Outlook übergeben ..:"
Du musst mich aber nicht für dumm verkaufen !?
Was glaubst du denn was der Code von Renee macht,... ganz einfach die Endzeit ausrechnen, und zwar genauso wie ich es dir in meinem Beispiel in der Tabelle gezeigt habe.
Und zwar exakt mit der gleichen Formel.
Zieh dir mal die beiden Links rein, damit du mal auf den Stand der Datumsberechnung kommst.
http://www.online-excel.de/excel/singsel.php?f=128
http://www.online-excel.de/excel/singsel.php?f=129
Gruss Rainer

Anzeige
AW: Du hast ein Rechenproblem...
30.07.2007 18:32:00
Mat
Hallo Rainer,
danke für die links. Schau ich mir gerne an.
Ich will Dich auch nicht für dumm verkaufen, sondern habe eine Lösung für mein Problem gesucht. Und da sind nun mal manuelle Werte vorhanden, die ich nach Outlook übertragen will, ohne sie vorher auszurechnen. Wenn die in VBA trotzdem gemacht wird, solls mir recht sein. Wie gesagt, VBA ist nicht mein Ding.
Gruß Mat

AW: Du hast ein Rechenproblem...
30.07.2007 18:37:49
Renee
Mazwara Rainer,
Jetzt mische ich mich doch noch ein, weil ich nicht glaube, das Mat Dich nicht für dumm verkaufen will.
Natürlich könnte sein Ton etwas zurückhaltender sein, wenn er wüsste mit welcher Excel-Koryphäe er hier korrespondiert, aber auch für das fehlen ihm vielleicht gewisse Daten (oder besser Informationen...).
Ich glaube der Ganze Zirkus ist nicht nötig, weil auf beiden Seiten Missverständnisse oder nicht vollständige Informationen gehandelt werden. Tatsache ist, das Dein Beispiel nur mit Zeiten handelt. Tatsache ist aber auch, das wenn man den Code analysiert, zwingend in Spalte 2 ein Datum (ohne Zeit) vorliegt und in den Spalten 9 und 10 nur Zeiten (ohne Datum, bzw. als 1.1.1900). Durch das Zusammenzählen ohne diese zu berücksichtigen entsteht der falsche Termineintrag (welcher über 2 Tage gehen sollte) in Outlook. Mein Code macht nix anderes als anzunehmen, wenn die Endzeit kleiner als die Startzeit ist, dass die Endzeit im nächsten Tag liegt, ergo 1 (nämlcih 1 Tag) zu besagtem Datum in Spalte 2 dazuzählt und dann erst die Endzeit addiert.
Also begrabt Euren Grabenkrieg (... he der Satz gefällt mir ;-), irgendwo haben beide recht und dann doch wieder ein bisschen nicht...
Greetz Renee

Anzeige
Bitte das 2te nicht im ersten Satz streichen (owT)
30.07.2007 18:38:58
Renee

AW: Du hast ein Rechenproblem...
30.07.2007 19:00:17
Ramses
Hallo
"...Mein Code macht nix anderes als anzunehmen, wenn die Endzeit kleiner als die Startzeit ist, dass die Endzeit im nächsten Tag liegt, ergo 1 (nämlcih 1 Tag) zu besagtem Datum in Spalte 2 dazuzählt und dann erst die Endzeit addiert...."
Das ist ja auch korrekt :-)
Mein Beispiel sollte ihm ja auch nur aufzeigen, ANHAND DER FORMEL in der Tabelle, was bei seiner Rechnung rauskommt und wie man das abfangen kann.
Bei EXCEL Gut hätte ich dann erwartet, dass es ihm ein Lichtlein aufgeht :-)
Anyway,.. abgehakt und schon vergessen.
Allerdings gebe ich dir mit einer Aussage gewaltig recht:
Die Anwender verstehen eher die wildesten Zins und Kreditberechnungsformeln als die Zeit und Datumsberechnung/-handhabung von EXCEL :-)
Gruss Rainer

Anzeige
AW: Du hast ein Rechenproblem...
31.07.2007 13:20:46
Mat
Hallo,
jetzt wollt Ihr mich aber ein wenig veräppeln. Natürlich ist mir klar, welches Ergebis die Formel
=WENN(D25<C25;D25;C25+D25)
auswirft.
Aber wie bereits mehrfach erwähnt, brauchte ich hier kein Ergebnis oder ein Lektion im Rechnen, sondern eine Möglichkeit das Arbeitsende, (welches als Uhrzeit in der Zelle steht) mit Hilfe von VBA an Outlook zu übergeben.
Wenn ich wie Ihr die entsprechenden Kentnisse im VBA hätte, wie man das ganze bewerkstelligen kann, hätte ich ja nicht gefragt. Meine Fragen und Antworten waren hierbei auch in einem höflichen Ton.
Beste Grüße und danke für die Hilfe
Mat
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige