Hallo Leute,
mein liebes Makro tat eigentlich was es soll. Klicke ich auf "Importieren", kann ich eine *.xls Datei auswählen in der eine Range kopiert wird, dann wird die *.xls Datei geschlossen und ich füge die kopierten Daten in meine noch offene Arbeitsmappe. So war das auch gewünscht! Jetzt ist mir aufgefallen, dass bei diesem Vorgang Zahlen, die ursprünglich im Format 72,439 (Zahl mit 3 Nachkommastellen) formatiert waren, in meiner Arbeitsmappe jetzt Standard sind und in das Format 72439 umgewandelt werden. Total nutzlos für mich, weil es der 72 Kilometer, bei Meter 439 beschreibt. Jetzt würde ich gerne eine VBA Lösung präsentieren, ohne Zellen zu formatieren oder so.
Hier mein Code mit welchem ich bisher die Daten importiere, aber die Zahlen werden so in das für mich nutzlose Format 72439 umgewandelt
Die PasteSpecial-Methode hat mich bisher nicht weitergebracht, da das Makro dann immer ausgestiegen ist.
Grüße
Martin
mein liebes Makro tat eigentlich was es soll. Klicke ich auf "Importieren", kann ich eine *.xls Datei auswählen in der eine Range kopiert wird, dann wird die *.xls Datei geschlossen und ich füge die kopierten Daten in meine noch offene Arbeitsmappe. So war das auch gewünscht! Jetzt ist mir aufgefallen, dass bei diesem Vorgang Zahlen, die ursprünglich im Format 72,439 (Zahl mit 3 Nachkommastellen) formatiert waren, in meiner Arbeitsmappe jetzt Standard sind und in das Format 72439 umgewandelt werden. Total nutzlos für mich, weil es der 72 Kilometer, bei Meter 439 beschreibt. Jetzt würde ich gerne eine VBA Lösung präsentieren, ohne Zellen zu formatieren oder so.
Hier mein Code mit welchem ich bisher die Daten importiere, aber die Zahlen werden so in das für mich nutzlose Format 72439 umgewandelt
Die PasteSpecial-Methode hat mich bisher nicht weitergebracht, da das Makro dann immer ausgestiegen ist.
Code:
Private Sub LUBPladenimportierenundinZahlenumwandeln()
' Manuelle Suche nach LUBP und Datenimport
' Prüft ob schon LuBP-Daten importiert sind
If Not Range("Start!A113").Value = "" Then
AchtungLuBPschonImportiert.Show
Else
' Öffnet Dialog zum Suchen der Datei der LUBP
MsgBox "Bitte wähle die aktuelle Anlage 3 (*.xls-Datei, entsprechend GBV)"
Dim MyFile As Variant
' "Excel (*.xls), *.xls" beschränkt die Dateiauswahl auf XLS Dateien
MyFile = Application.GetOpenFilename("Excel (*.xls), *.xls")
'Bildschirmaktualisierung aus
Application.ScreenUpdating = False
If Not MyFile = False Then
Workbooks.Open (MyFile)
Else
Exit Sub
End If
' Markiert alle Zellen und kopiert sie in die Zwischenablage
Range("A1:Z1000").Select
Selection.Copy
' Speichert nicht und schließt die geöffnete Datei, DisplayAlerts deaktiviert kurzzeitig die Nachfrage nach Speichern
Application.DisplayAlerts = False
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
' Fügt alle Daten ein und springt wieder zu EK-Datum-Feld
Range("A100").Select
ActiveSheet.Paste
Range("C14").Select
'Entfernt den Selektionsrahmen
Application.CutCopyMode = False
'Bildschirmaktualisierung ein
Application.ScreenUpdating = True
' Bestätigung über den Import der LUBP Daten
MsgBox "Die ausgewählten LuBP-Daten wurden erfolgreich importiert"
Exit Sub
End If
End Sub
Grüße
Martin