Ich habe Probleme, ein Datum von einer Datei in eine andere zu kopieren und das Format (TT/MM/JJJJ) beizubehalten, während VBA verwendet wird. Eine direkte Kopie führt dazu, dass die Datumsangaben in das US-Datumsformat konvertiert werden und sich in mm/dd/yyyy ändern und die Datumsangaben (dd> 12) sich in eine Zeichenfolge ändern. Ich habe versucht, das Datum zu einer Zahl zuerst zu ändern und dann kopieren/einfügen (mit dem Plan zurück zu Datumsformat zu gehen, sobald die Kopie abgeschlossen war), aber dies ändert nur Format für die Daten mit dd < = 12, die Daten mit dd > 12 kommen immer noch als String-Format vor. Auch die Daten, die erfolgreich auf Zahlen ändern, scheinen auf US-Format zu ändern, dann Zahlenformat, so dass ich mit dem falschen Datum sowieso die seltsame Sache durchläuft diese Schritte manuell (außerhalb von VBA) funktioniert gut, kann ich alle bekommen die Daten in das Format, das ich möchte, und das US-Format erscheint nie. Hier ist der Code I verwendet haben:Datum in Zahlenformat konvertieren vba
Sheets("Import").Select
PathName = Range("B2").Value
Filename = Range("B3").Value
TabName = Range("B4").Value
ControlFile = ActiveWorkbook.Name
Workbooks.Open Filename:=PathName & Filename
ActiveSheet.Name = TabName
Columns("A:A").Select
Selection.NumberFormat = "0"
Range("A2:A200").Copy Destination:=Workbooks(ControlFile).Sheets("Import").Range("A8:A206")
Jede Hilfe oder Anregungen für Dinge wäre toll, zu versuchen. Cam
Ich vermute, dass über die Zwischenablage verwenden könnte, könnte sei das Problem. Müssen Sie die Formatierung beibehalten? – Comintern
nein Ich kann mit der Formatierung umgehen, sobald eingefügt, aber der Prozess ändert tatsächlich den Wert (dh in Tabelle 1 ist der Wert 42501 und nach dem Kopieren der Wert ist 42679 ... – user2301233
Versuchen Sie 'Arbeitsmappen (ControlFile) .Sheets (" Import ") .Range (" A8: A206 "). Wert = Bereich (" A2: A200 "). Wert" – Comintern