Thema Datum  Von Nutzer Rating
Antwort
Rot mehrere Spalten kopieren
10.04.2018 08:41:02 Selina
Solved
11.04.2018 03:01:39 Gast3890
Solved

Ansicht des Beitrags:
Von:
Selina
Datum:
10.04.2018 08:41:02
Views:
901
Rating: Antwort:
 Nein
Thema:
mehrere Spalten kopieren

Hey Leute, ich hab in einer Tabelle in Spalte A Dateinamen stehen, aus denen per Macro Spalten in eine neue Tabelle kopiert werden sollen.

Für einen VBA Newbie bin ich eigentlich weit gekommen aber es werden leider nicht alle Spalten so kopiert, wie ichs gerne hätte...

Hoffe jemand findet auf Anhieb meinen Fehler...

Es werden grade 3 Werte kopiert und danach hängts aber auch bei With wksZiel.Parent

Sub csv_export()
    Dim strPfad As String
    Dim rFile As Range
    Dim strSpeicherpfad As String
    Dim wkbQuelle As Workbook
    Dim varSpalten As Variant, intSpalte As Integer
    Dim wksZiel As Worksheet
    
    strPfad = ThisWorkbook.Path
    
    varSpalten = Array("N", "B", "C") 'zu kopierende Spalten auswählen
    
    ' *********************************************************
    ' ersten Dateinamen auswählen
    
    Set rFile = ThisWorkbook.Sheets("Tabelle1").Range("A1")
    
    ' *********************************************************
    ' Funktion zum Tabellen öffnen aufrufen
    
    Do While rFile <> ""
        If Not WBOpen(rFile) Then
            Set wkbQuelle = Workbooks.Open(strPfad & "\" & rFile)
        End If
        
        ' *********************************************************
        ' Spalten kopieren
        Set wkbQuelle = ActiveWorkbook
        Set wksZiel = ThisWorkbook.Worksheets.Add
        For intSpalte = 0 To UBound(varSpalten)
            wkbQuelle.Sheets(1).Columns(varSpalten(intSpalte)).Copy _
            Destination:=wksZiel.Cells(1)
        Next intSpalte
        wkbQuelle.Close False 'Quellmappe schließen
        wksZiel.Move 'Zielblatt in neue Mappe
        
        ' *********************************************************
        ' Dateiname abfragen und speichern
        
        Set wkbQuelle = ActiveWorkbook
        wkbQuelle.Unprotect
        strSpeicherpfad = InputBox("Bitte den Namen der CVS-Datei angeben", "CSV-Export", wkbQuelle.Path)
        
        With wksZiel.Parent
            'Neue Mappe als CSV Speichern
            .SaveAs strSpeicherpfad, FileFormat:=xlCSV, Local:=True
            .Close False
        End With
        
        MsgBox "Export erfolgreich. Datei wurde exportiert nach " & vbNewLine & strSpeicherpfad
        
        Set rFile = rFile.Offset(1, 0)
    
    Loop
    
End Sub


' *********************************************************
' Tabellen öffnen

Function WBOpen(ByVal n As String) As Boolean
    Dim wb As Workbook
    For Each wb In Application.Workbooks
        If UCase(wb.Name) = UCase(n) Then
            WBOpen = True
            Exit Function
        End If
    Next wb
End Function



 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot mehrere Spalten kopieren
10.04.2018 08:41:02 Selina
Solved
11.04.2018 03:01:39 Gast3890
Solved