Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1024to1028
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
Inhaltsverzeichnis

Datumsberechnung ergänzen

Datumsberechnung ergänzen
16.11.2008 06:24:00
Wolfgang
Hallo,
den nachstehenden Code hat mir Reinhard zur Verfügung gestellt. Er funktioniert auch soweit sehr gut. Gibt es eine Möglichkeit, diesen Code noch zu ergänzen, damit er gleichzeitig noch das jeweilige Datum in Spalte E zu Grunde legt (Format: 16.11.2008) und mir daraus nur die Jahreszahl in Spalte P einträgt? In der Folge wäre dann schön, wenn er das Datum, welches in Spalte F steht mit 180 Tagen hochrechnet und das Datum dann in Spalte R einträgt.- Wäre soetwas denkbar? - Danke schon jetzt für die Rückmeldungen.
Herzliche Grüße
Wolfgang

Sub Datum2()
'berechnet die Differenz zwischen Datum in Spalte F und HEUTE in Tagen
Dim rng As Range
Set rng = Range("Q2").Resize(Range("F" & Rows.Count).End(xlUp).Row, 1)
rng.Formula = "=today()-F2"
rng.Value = rng.Value
rng.NumberFormat = "General"
End Sub


15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumsberechnung ergänzen
16.11.2008 11:51:22
Tino
Hallo,
habe ich dich so richtig verstanden?
Option Explicit

Sub Datum2()
'berechnet die Differenz zwischen Datum in Spalte F und HEUTE in Tagen 
    Dim rng As Range
    Set rng = Range("Q2").Resize(Range("F" & Rows.Count).End(xlUp).Row, 1)
    rng.Formula = "=today()-F2"
    rng.Value = rng.Value
    rng.NumberFormat = "General"
    
'    Datum in Spalte E zu Grunde legt (Format: 16.11.2008) 
'    und mir daraus nur die Jahreszahl in Spalte P einträgt 
    Cells(rng.Row, "P") = Format(CDate(Cells(rng.Row, "E")), "yyyy")

'    wenn er das Datum, welches in Spalte F steht mit 180 Tagen hochrechnet 
'    und das Datum dann in Spalte R einträgt 
    Cells(rng.Row, "R") = CDate(Cells(rng.Row, "F")) + 180
End Sub


Gruß Tino

Anzeige
AW: Datumsberechnung ergänzen
16.11.2008 13:00:42
Wolfgang
Hallo Tino,
genauso; - Allerdings berechnet VBA ausschließlich nur jeweils in P2 bzw. R2 - wie müßte der Code ergänzt oder verändert werden, damit alle Zellen, in den jeweils das Datum enthalt ist, abgearbeitet werden? Danke schon jetzt wieder für die Rückmeldung, Danke aber auch herzlich für die jetzige Meldung.
Gruß - Wolfgang
AW: Datumsberechnung ergänzen
16.11.2008 14:00:00
Tino
Hallo,
so müsste es gehen.
Option Explicit

Sub Datum2()
'berechnet die Differenz zwischen Datum in Spalte F und HEUTE in Tagen 
    Dim rng As Range
    Set rng = Range("Q2").Resize(Range("F" & Rows.Count).End(xlUp).Row, 1)
    rng.Formula = "=today()-F2"
    rng.Value = rng.Value
    rng.NumberFormat = "General"
    
    rng.Offset(0, -1).Formula = "=YEAR(RC[-11])"
    rng.Offset(0, -1).Value = rng.Offset(0, -1).Value
    
    rng.Offset(0, 1).Formula = "=RC[-12]+180"
    rng.Offset(0, 1).Value = rng.Offset(0, 1).Value
End Sub


Gruß Tino

Anzeige
AW: Datumsberechnung ergänzen
16.11.2008 14:53:44
Wolfgang
Hallo Tino,
erneut Danke für die schnelle Rückmeldung; Der Code läuft grundsätzlich (gut), aber ich komme noch nicht mit den Formaten klar. In Spalte Q sollte das Format Zahl, ohne Nachkommastellen sein, in Spalte R Datum "dd.mm.yyyy" (wenn das für das Format 16.11.2008 steht). VBA bringt da verschiedene Formate, zumindest im Datum zustande. Schreibe ich unter den Code z.B das Format "dd.mm.yyyy", dann erscheint in Spalte Q die Zahl mit 1900...; Können an irgendeiner Stelle in dem Code die jeweiligen Formate bestimmt werden? - In der letzten freien Zeile wird offensichtlich die Gesamtzahl zusammengerechnet, ließe sich das evtl. vermeiden? - Danke schon jetzt wieder für Deine erneute Rückmeldung.
Gruß - Wolfgang
Anzeige
AW: Datumsberechnung ergänzen
16.11.2008 15:32:59
Tino
Hallo,
ok. noch ein Versuch
Option Explicit


Sub Datum2()
'berechnet die Differenz zwischen Datum in Spalte F und HEUTE in Tagen 
    Dim rng As Range
    Set rng = Range("Q2").Resize(Range("F" & Rows.Count).End(xlUp).Row, 1)
    rng.Formula = "=today()-F2"
    rng.Value = rng.Value
    rng.NumberFormat = "General"
    
'############################################################ 
'    Datum in Spalte E zu Grunde legt (Format: 16.11.2008)  # 
'    und mir daraus nur die Jahreszahl in Spalte P einträgt # 
'############################################################ 
    'Jahr aus Spalte E in Spalte P 
    rng.Offset(0, -1).Formula = "=YEAR(RC[-11])"
    'Formel in Spalte P durch Werte ersetzen 
    rng.Offset(0, -1).Value = rng.Offset(0, -1).Value
    'Zellformat auf Standart setzen 
    rng.Offset(0, -1).NumberFormat = "General"
    
'############################################################################ 
'    wenn er das Datum, welches in Spalte F steht mit 180 Tagen hochrechnet # 
'    und das Datum dann in Spalte R einträgt                                # 
'############################################################################ 

    'zu dem Datum aus Spalte F 180 dazurechnen und in Spalte R eintragen 
    rng.Offset(0, 1).Formula = "=RC[-12]+180"
    'Formel in Spalte R durch Werte ersetzen 
    rng.Offset(0, 1).Value = rng.Offset(0, 1).Value
End Sub


Gruß Tino

Anzeige
AW: Datumsberechnung ergänzen
16.11.2008 17:51:14
Wolfgang
Hallo Tino,
irgendwie haut das mit dem Format noch nicht hin, alle bisherigen Umstellungsversuche klappen dabei nicht. Knackpunkt ist der letzte Teil des Codes, der also die Spalte R "beschickt", hier ergeben sich zwei verschiedene Datumsformate - beide aber wohl eher die amerikanische Schreibweise.
Beispiel:
11.12.2008
11/15/2008
Rein rechnerisch ergibt sich auch aus dem "11.12.2008" wohl ein 12.11.2008. - Hättest Du da noch evtl. eine Idee? - Die beiden anderen Teile des Codes laufen soweit super, wobei ich aber auch direkt in der Tabelle schon das Zellenformat entsprechend eingestellt hatte.- Ich hoffe, ich bin nicht zu lästig.
Danke schon jetzt wieder und
Herzliche Grüße
Wolfgang
Anzeige
AW: Datumsberechnung ergänzen
16.11.2008 19:14:00
Tino
Hallo,
sei so Gut und lade mal eine Beispieldatei hoch,
dass mit dem Format kann ich irgendwie bei mir nicht nachvollziehen.
Gruß Tino
Mustermappe anbei
16.11.2008 19:37:00
Wolfgang
Hallo Tino,
anbei die Mustermappe. Ich habe schon diverse Versionen versucht. Selbst das direkte Einstellen der Spalte R auf Datumsformat imponiert nicht.
Gruß - Wolfgang
https://www.herber.de/bbs/user/56833.xls
AW: Mustermappe anbei
16.11.2008 20:07:00
rofu
hallo,
mit dieser zeile sollte es gehen
Set rng = Range("Q2").Resize(Range("F" & Rows.Count).End(xlUp).Row - 1)
AW: Mustermappe anbei
16.11.2008 20:16:23
Tino
Hallo,
das mit dem roten Bereich sollte behoben sein.
Das mit dem Datum, kann ich nicht nachvollziehen.
Ist Dein Systemdatum eventuell nicht auf Deutsch?
Schau mal unter
Systemsteuerung-->Regions und Sprachoptionen
Teste mal diese Version
https://www.herber.de/bbs/user/56835.xls
Gruß Tino
Anzeige
AW: Mustermappe anbei
16.11.2008 20:48:00
Wolfgang
Hallo Tino,
erneut herzlichen Dank für Deine Rückmeldung. Ich habe auf Deinen Tipp hin die Einstellungen in Systemsteuerung überprüft, die Datumseinstellung ist deutsch. Ich werde mir 'mal die Datei auf meinen Dienstrechner schicken und checken, was der Code dort macht. Deine Ergänzung in der Mustermappe reagiert übrigens auf diesen Rechner genauso mit den merkwürdigen Daten. Die anderen Teile des Codes laufen super und die sind mir die wichtigsten Parts. Im Zweifelsfall löse ich die Abfrage in Spalte R direkt mit einer Excel-Formel. Also, in dem Sinne - Du hast mir sehr geholfen und dafür Danke ich Dir recht herzlich.
Weiterhin alles Gute und noch einen schönen (Rest)-Sonntag.
Gruß - Wolfgang
Anzeige
AW: Mustermappe anbei
16.11.2008 21:09:00
Tino
Hallo,
verwendest Du eventuell eine Englischsprachige Excelversion?
Gruß Tino
AW: Mustermappe anbei
16.11.2008 21:23:00
Wolfgang
Hallo Tino,
leider nein, leider deswegen, weil dann evtl. der Fehler eingrenzbar wäre.- Mir fiel dabei noch ein, ob man da evtl. unter Verweise in VBA noch etwas einstellen muß?
Gruß - Wolfgang
Datumsformat kann kein deutsch.
16.11.2008 21:36:35
Tino
Hallo,
nein eigentlich ist dieses Datumsformat Standart, zumindest bei mir unter xl2003 und xl2007.
Dies sind die einzigen mir bekannten stellen die man untersuchen kann.
Excelversion deutsch
Systemeinstellung deutsch
Vorschlag lass die Frage mal offen, vielleicht kennt einer dieses Phänomen.
Gruß Tino
Anzeige
AW: Datumsformat kann kein deutsch.
17.11.2008 14:43:00
Wolfgang
Hallo,
Hallo Tino,
ich habe die Datei auf meinem Dienstrechner probiert - hier klappt alles und das Format wird sauber angezeigt; Ich werde somit noch einmal vergleichen, ob ich da auf meinem Rechner zuhause evtl. unter Verweise noch etwas verändern muß. In dem Sinne allen, die sich mit meinem Problem befaßt haben, insbesondere aber Dir, Tino, der viel Geduld mit mir haben mußte, recht herzlichen Dank !
Herzliche Grüße
Wolfgang

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige