Thema Datum  Von Nutzer Rating
Antwort
Rot Probleme mit Datumsformatierung - ACHTUNG KNIFFLIG!!!
17.06.2011 08:55:22 Alisha
NotSolved
17.06.2011 09:24:08 Alisha
Solved

Ansicht des Beitrags:
Von:
Alisha
Datum:
17.06.2011 08:55:22
Views:
1457
Rating: Antwort:
  Ja
Thema:
Probleme mit Datumsformatierung - ACHTUNG KNIFFLIG!!!

Hallo zusammen,

mein Problem ist folgendes:
ich habe ein Makro geschrieben, welches im Sheet "Übersicht" nach der Zelle mit dem Inhalt "Start" sucht. Der Inhalt der Zelle rechts neben der "Start"-Zelle wird dann kopiert und in das Sheet "Import" übertragen.
Das ist alles kein Problem... hier mal dieser teil vom Code:

 

Code:
With Worksheets("Übersicht")
    For Each rng In Sheets("Übersicht").Range("D" & columnEndD & ":D2")
       
        If rng.Value = "Start" And cAnfang < indexA Then
            Sheets("Import").Cells(cAnfang, 7) = Sheets("Übersicht").Cells(rng.Row, rng.Column + 1)
            Columns("G:G").EntireColumn.AutoFit
            Columns(7).NumberFormat = ("DDD dd.mm.yy")
            cAnfang = cAnfang + 1
        End If
    Next rng
End With



das problem ist jetzt dass dieser Starttermin in folgenden Formen vorliegen kann:

z.B.

12.03.2012
to + 3 Monate oder Jahre oder Tage
to + 4 month oder years oder days
To
tO
t0 ....
T0....

to, t0, To, T0, TO, tO soll durch das aktuelle Datum ersetzt werden.
der Wert der dahinter steht soll dann auf das Datum addiert werden.

Also als Beispiel:
Wenn heute der 17.06.2011 ist und in der Zeile steht
to + 3 days

soll am Ende im Sheet import in der Zeile das Datum 20.06.2011 stehen

das ist auch kein Problem. das funktioniert auch.
ABER wenn ich in die Zeile jetzt nur noch ein Datum schreibe und da nicht T0 + ... steht, dann rechnet mir Excel das Datum trotzdem um. Ich versteh aber nicht wieso.

Hier mal der ganze Code.
Ich hoffe dass ihr mir helfen könnt, ich wäre sehr dankbar!


 

Code:
'sucht in Import in Spalte Anfang nach *to* und *t0*, ersetzt es druch das aktuelle Datum und rechnet den
'Wert der dahinter steht zum aktuellen Datum dazu
lRow = Range("G65335").End(xlUp).Row
vEng = Array("to", "Years", "Months", "Weeks", "Days", "Year", "Month", "Week", "Day")
vGer = Array("t0", "Jahre", "Monate", "Wochen", "Tage", "Jahr", "Monat", "Woche", "Tag")
vInt = Array("DATE", "#yyyy", "#m", "#ww", "#d", "#yyyy", "#m", "#ww", "#d")

For Each rng In Range("G2:G" & lRow).Cells
    dRet = Date
    With rng
        sText = .Text
   
        For i = 0 To UBound(vEng) - 1
           sText = Replace(sText, vEng(i), vInt(i), , , vbTextCompare)
           sText = Replace(sText, vGer(i), vInt(i), , , vbTextCompare)
        Next i
   
        vRng = Split(Replace(sText, " ", ""), "+")
        If UCase(vRng(0)) = "DATE" Then
            For i = 1 To UBound(vRng)
                dRet = DateAdd(Mid(vRng(1), InStr(1, vRng(1), "#") + 1), Mid(vRng(1), 1, InStr(1, vRng(1), "#") - 1), Date)
            Next i
        End If
       
        .Value = dRet
       
    End With
Next rng


Vielen Dank!!!!

glg Alisha


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Probleme mit Datumsformatierung - ACHTUNG KNIFFLIG!!!
17.06.2011 08:55:22 Alisha
NotSolved
17.06.2011 09:24:08 Alisha
Solved