Mit Makro Datei öffnen, Teile einfügen und ablegen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Mit Makro Datei öffnen, Teile einfügen und ablegen
von: ElHi
Geschrieben am: 12.05.2015 09:24:51

Hallo zusammen,
eine Frage, an der ich schon ein bisschen bastele und leider nicht weiter komme:
Ich würde gerne in einer Excel-Datei (Datei 1) ein Makro einfügen, das
- eine csv-Datei (Datei 2) in einem bestimmten Ordner öffnet,
- einen definierten Bereich auf einem bestimmten Reiter in Datei 1 markiert und kopiert
- diesen in Datei 2 einfügt
- und Datei 2 wieder als csv in einem neuen Ordner speichert und wieder schließt.
Ideal wäre es, wenn für den Fall, dass Datei 2 nicht verfügbar ist, zwar eine Fehlermeldung aufpoppt, das Makro aber dennoch weiterläuft.
Über Hinweise von euch wäre ich sehr dankbar.
Vielen Dank bereits im Voraus
ElHi

Bild

Betrifft: Makro CSV-Datei öffnen, Teile einfügen und ablegen
von: fcs
Geschrieben am: 12.05.2015 16:43:32
Hallo ElHi,
nachfolgend ein Makro-Beispiel, das du noch bezüglich Dateinamen, Blattnamen, Zellbereiceh anpassen musst.
Gruß
Franz

Option Explicit
'Code in einem allgemeinen Modul
Sub CSV_Datei_ausfuellen()
    Dim wkbCSV As Workbook, wksCSV As Worksheet
    Dim varCSV As Variant, strPathNeu As String
    Dim wkbAktiv As Workbook, wksQuelle As Worksheet
    
    Set wkbAktiv = ActiveWorkbook '=Datei mit dem Makro
    Set wksQuelle = wkbAktiv.Worksheets("Tab_XYZ") 'Name anpasen! - Tabellenblatt mit den zu  _
kopierenden Daten
    
    varCSV = "D:\Test\Muster_CSV.csv" 'Dateiname anpassen
    
    If Dir(varCSV) = "" Then
      MsgBox "Date """ & varCSV & """ nicht gefunden!", vbOKOnly, "Prüfung CSV-Vorlage"
    Else
      Application.ScreenUpdating = False
      Set wkbCSV = Application.Workbooks.Open(Filename:=varCSV, ReadOnly:=True, Local:=True)
      Set wksCSV = wkbCSV.Worksheets(1)
      
      wksQuelle.Range("B3:H8").Copy 'Bereich anpasen
      With wksCSV.Range("C3") 'Zielzelle anpassen
        .PasteSpecial Paste:=xlPasteFormats
        .PasteSpecial Paste:=xlPasteValues
      End With
      
      Application.ScreenUpdating = True
      
      With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Bitte neuen Ordner für CSV-Datei auswählen/anlegen"
        .InitialFileName = ActiveWorkbook.Path
        If .Show = -1 Then
          strPathNeu = .SelectedItems(1) & "\" & wkbCSV.Name
          wkbCSV.SaveAs Filename:=strPathNeu, FileFormat:=xlCSV, Local:=True, _
                addtomru:=False 'oder FileFormat:=xlCSVWindows
          Application.DisplayAlerts = False
          wkbCSV.Close savechanges:=False
          Application.DisplayAlerts = False
          
        End If
      
      End With
    End If
    
End Sub


Bild

Betrifft: AW: Makro CSV-Datei öffnen, Teile einfügen und ablegen
von: ElHi
Geschrieben am: 18.05.2015 20:28:43
Hallo Franz,
super, vielen Dank. Klappt perfekt!
Gruß, ElHi

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Mit Makro Datei öffnen, Teile einfügen und ablegen"