Microsoft Excel

Herbers Excel/VBA-Archiv

Csv kopieren

Betrifft: Csv kopieren von: Bluejay
Geschrieben am: 24.11.2014 13:35:45

Guten Tag zusammen,
ich habe probleme mit einer macro Aufgabe. Ich bin dabei ein Makro zuschreiben )mit recorder und Code schnipseln das mir Bereiche einer csv Datei in Bereiche der geöffneten Excel Tabelle einfügen soll:

Problem ich bekomme nach der Datei auswahl kein kopieren hin - kann mir jemand helfen - Tausend _
Dank dafür schon mal!!!!







Private Sub CSV_Insert_Click()
    
    Windows("Messwerte u. Berechnung.xls").Activate
    Range("D10:F30000").Select
    Selection.ClearContents
 
    Dim CSVfile As Variant
    CSVfile = Application.GetOpenFilename(FileFilter:="CSV-Dateien (*.csv), *.csv", MultiSelect: _
 _
 _
 _
 _
 _
 _
 _
 _
=False)
    Workbooks.Open Filename:=CSVfile, Local:=True



    Range("D9:D20000").Select
    Application.CutCopyMode = False
    Selection.Copy
    
    
    
    Windows("Messwerte u. Berechnung.xls").Activate
    Range("D10").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
    
    Windows("Export.csv").Activate
    Range("J9:J20000").Select
    Application.CutCopyMode = False
    Selection.Copy
    
    Windows("Messwerte u. Berechnung.xls").Activate
    Range("E10").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
    
    Windows("Export.csv").Activate
    Range("M9:M5765").Select
    Application.CutCopyMode = False
    Selection.Copy
    
    Windows("Messwerte u. Berechnung.xls").Activate
    Range("F10").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False,  _
Transpose:=False
    Range("E11").Select

End Sub

  

Betrifft: AW: Csv kopieren von: Rudi Maintaire
Geschrieben am: 24.11.2014 13:47:26

Hallo,

Private Sub CSV_Insert_Click()
    
    Dim CSVfile As Variant, wsAkt As Worksheet, wsCSV As Worksheet
    Set wsAkt = ActiveSheet
    wsAkt.Range("D10:F30000").ClearContents
 
    CSVfile = Application.GetOpenFilename(FileFilter:="CSV-Dateien (*.csv), *.csv", MultiSelect: _
=False)
    Set wsCSV = Workbooks.Open(Filename:=CSVfile, Local:=True).Sheets(1)

    wsCSV.Range("D9:D20000").Copy
    wsAkt.Range("D10").PasteSpecial Paste:=xlPasteValues
    
    wsCSV.Range("J9:J20000").Copy
    wsAkt.Range("E10").PasteSpecial Paste:=xlPasteValues
    
    wsCSV.Range("M9:M5765").Select
    wsAkt.Range("F10").PasteSpecial Paste:=xlPasteValues
    wsCSV.Parent.Close False  'csv schließen
End Sub

Gruß
Rudi


  

Betrifft: AW: Csv kopieren von: BlueJay
Geschrieben am: 24.11.2014 15:10:55

Danke super es läuft und so einfach!!!!
Schönen Tag noch

Gruss


  

Betrifft: AW: Csv kopieren von: Daniel
Geschrieben am: 24.11.2014 13:52:49

HI

lass die Selects und Activates mal weg und schreibe immer direkt dazu, aus welcher Datei und welchem Tabellenblatt du kopieren willst

 Workbooks.Open Filename:=CSVfile, Local:=True

Workbooks(CSVfile).Sheets(1).Range("D9:D20000").Copy
Workbooks("Messwerte u. Berechnung.xls").Sheets("???").Range("D10").PasteSpecial Paste:= _
xlPasteValues

Workbooks(CSVfile).Sheets(1).Range("J9:J20000").Copy
Workbooks("Messwerte u. Berechnung.xls").Sheets("???").Range("E10").PasteSpecial Paste:= _
xlPasteValues

Workbooks(CSVfile).Sheets(1).Range("M9:M5765").Copy
Workbooks("Messwerte u. Berechnung.xls").Sheets("???").Range("F10").PasteSpecial Paste:= _
xlPasteValues 

Application.cutCopyMode = False

Für die ??? bitte noch den Namen des Zeiltabellenblatts eintragen.
Wenn die Datei in die die Werte eingetragen werden sollen die selbe ist die auch den Code enthält, dann kannst du statt: Workbooks("Messwerte u. Berechnung.xls"). auch einfach ThisWorkbook. verwenden.
Dann brauchst du den Code nicht anpassen, wenn du die Datein unter einen anderen Namen speicherst.

Gruß Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Csv kopieren "