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

Datumwerte werden falsch übertragen

Datumwerte werden falsch übertragen
22.07.2008 17:44:00
Maris
Hallo zusammen,
wer kann mir den bitte helfen? Bei folgendem Code werden beim kopieren der Daten von einer Excel-tabelle in die andere meine Datumswerte nicht richtig übertragen. Das makro soll zwar nur die Werte kopieren, jedoch wird mir in der anderen Tabelle ein falsches Datumsformat wieder gegeben:
Statt tt.mm.yyyy wird mm.tt.yyyy übertragen:

Sub export()
Dim ArrayÜberschrift(1 To 32) As Variant, ArrayWerte() As Variant
Dim x As Long, z As Long
Dim i As Long, y As Long, lngSpalte As Long
Dim rSuche As Range, rFinde As Range
'Application.ScreenUpdating = False
With Application
.ScreenUpdating = False
.EnableEvents = False
.ActiveSheet.Unprotect
End With
Workbooks.Open Filename:="ziel.xls" ' Hier  Pfad anpassen z.B.Filename:="C: _
ziel_löschen
ThisWorkbook.Activate
For i = 1 To 32
ArrayÜberschrift(i) = ThisWorkbook.Sheets("bericht").Cells(240, i + 29)
Next i
With Workbooks("Ziel.xls").Sheets("LedgerJournalTrans")
Set rFinde = .Range("A1:CM1")
For i = 1 To 32
Set rSuche = rFinde.Find(what:=ArrayÜberschrift(i), LookAt:=xlWhole, LookIn:= _
xlValues)
If Not rSuche Is Nothing Then
For x = 241 To 307
If ThisWorkbook.Sheets("bericht").Cells(x, i + 29).EntireRow.Hidden = False _
Then
ReDim Preserve ArrayWerte(y)
ArrayWerte(y) = ThisWorkbook.Sheets("bericht").Cells(x, i + 29)
y = y + 1
End If
Next x
lngSpalte = rSuche.Column
For z = LBound(ArrayWerte()) To UBound(ArrayWerte())
.Cells(6 + z, lngSpalte) = ArrayWerte(z)
Next z
End If
ReDim ArrayWerte(0)
y = 0
Next i
End With
Workbooks("Ziel.xls").Save
Workbooks("Ziel.xls").Close
Set rSuche = Nothing
Set rFinde = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
.ActiveSheet.Protect
End With
'Application.ScreenUpdating = True
End Sub


Gruß
Maris

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datumwerte werden falsch übertragen
22.07.2008 18:32:00
Peter
Hallo Maris,
wenn ich das auf die schnelle richtig gesehen habe, überträgst du aus dem Array mit .Cells(6 + z, lngSpalte) = ArrayWerte(z) deine Datumswerte.
Warum gibst du hier nicht das gewünschte Format mit? .Cells(6 + z, lngSpalte) = Format(ArrayWerte(z), "dd.mm.yyyy")
Oder war ich zu optimistisch?
Gruß Peter

AW: Datumwerte werden falsch übertragen
22.07.2008 18:38:00
Maris
Hi,
haut leider nicht hin macht mir nen Überlauf!
Trotzdem Danke!
Gruß
chm

AW: Datumwerte werden falsch übertragen
22.07.2008 21:06:00
Chris
Servus Maris,
da ich den Code ja geschrieben habe, weiß ich auch, dass das nicht alles ein datum ist, deswegen auch der Überlauf.
probier mal:
If IsDate(ArrayWerte(z)) Then
.Cells(6 + z, lngSpalte) = Format(ArrayWerte(z), "dd.mm.yyyy")
End if
Gruß
Chris

Anzeige
AW: Datumwerte werden falsch übertragen
23.07.2008 09:05:42
Maris
Hi chris,
vielen Dank für deine Hilfe! Des funzt leider auch nicht, er überträgt hier jetzt leider nur das Datum und den Rest nicht... Kannst du mir vielleicht nochmal helfen?
Gruß
Maris

AW: Datumwerte werden falsch übertragen
23.07.2008 09:44:00
Chris
Servus Maris,
das Datum stimmt jetzt aber? Wenn ja, statt:
.Cells(6 + z, lngSpalte) = ArrayWerte(z)
If IsDate(ArrayWerte(z)) Then
.Cells(6 + z, lngSpalte) = Format(ArrayWerte(z), "dd.mm.yyyy")
Else
.Cells(6 + z, lngSpalte) = ArrayWerte(z)
End if
Gruß
Chris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige