2017-07-26 10 views
0

Ich versuche, ein ganzes Blatt von einer Anwendung Blatt auf einem anderen offenen einem mit dem folgenden CodeKopieren von einem Excel-Application-To-Blatt ohne Änderung Termine VBA EXCEL

'Open Application 
MsgBox "Select Report" 
Dim my_FileName3 As Variant 
my_FileName3 = Application.GetOpenFilename("Excel Files (*.xl*)," & _ 
    "*.xl*", 1, "Select ManMan File", "Open", False) 
If my_FileName <> False Then 
Workbooks.Open Filename:=my_FileName3 
End If 

'Set Active 
var3 = ActiveWorkbook.Name 

'Copy Everything 
Dim lastRow3 As Long 
lastRow3 = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 
ActiveSheet.Range("a1:z" & lastRow3).Copy Destination:=Workbooks (var1).Sheets("Sheet4").Range(Var1R) 

'Close Worksheet 
Workbooks(var3).Close False 

Dieser Code über Werke zu kopieren, aber das Problem ist, Die Daten wurden komplett geändert.

First Document Worksheet Before copy

Second Application Sheet4 After copy

Jede Idee, was ich falsch machen könnte? Ignoriere die leere Zeile.

+0

Nicht auf das Problem bezogen, aber 'Wenn my_FileName <> False Then' sollte' If my_FileName3 <> False Then' sein – YowE3K

Antwort

1

Der Unterschied in den Daten kann durch die inkonsistente Verwendung des Datumssystems zwischen den beiden Arbeitsmappen erklärt werden. Man wird das 1904-Datumssystem verwenden, und man wird nicht sein:

enter image description here

Wenn das Ziel Arbeitsmappe das 1904-Datumssystem verwenden, müssen Sie 1462 von jedem Wert, um kopiert subtrahieren zu konvertieren es zurück zu dem gleichen Datum, mit dem du angefangen hast.

Verwandte Themen