Spalten aus Excel-Tabelle einzeln exportieren

Begonnen von J.C., 18. Mai 2010, 19:07:28 Uhr

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

J.C.

Hallo zusammen,

ich habe diesmal ein VBA-problem - leider kann ich keinen einzigen VBA-Befehl und mit der Makro-Funktion komme ich auch nicht weiter.

Ich möchte aus einer Tabelle mit 135 Spalten jeweils die Spalte 1 und x [2 bis 135] als *.txt-Datei exportieren. Sodass ich am Ende 134 Dateien erhalte.
Der Dateiname steht in der 1. Zeile der Spalten 2 bis 135.

Wäre jemand so nett mir bitte ein VBA-Skript dafür zu schreiben? (Ich schreib dann auch wieder das nächste Batch-Skript ;) )

Meine Grundidee zur Lösung des Problems wäre für jede zu exportierende Datei die Spalte 1 und x in eine andere Arbeitsmappe zu kopieren und dann diese Arbeitsmappe zu exportieren. Das ganze dann als Schleife....







C2D 6420 // 3,2Ghz @Nexxxos XP
Gigabyte  P35 DS3P
4096 MB DDR-800 CL4 A-Data Vitesta Ex.
Sapphire HD4890 Vapor-X
60 GB OCZ Vertex
80 GB WD Caviar SE
    
Enermax Liberty 400W
Black ICE Stealth GT360 @ SilenX
                                                      





AMD X2 240 @ Shuriken
Asrock M3A785GMH
2048 MB MDT DDR-800
SkyStar 2HD
Cinergy DT USB XS Diversity
WD15EADS
Seasonic S12II 330W
OrigenAE S10V

J.C.

Wenn man nicht alle selber macht....*grummel*

Mein Code ist nicht schön und ich kann immer noch kein VBA, aber vieleicht kanns ja wer gebrauchen:

Kleine Änderung der Aufgabenstellung: Spalte 1 braucht nicht kopiert zu werden. Es wird nur die 2. bis x. Spalte in die 2. Spalte eines neuen Arbeitsblattes kopiert und dann die Zeilen 1-4 aus 2. Spalte in die 1. Spalte kopiert. Als Dateiname der zu exportierenden Datei dient der Wert in A2 des neues Arbeitsblattes.

Sub Makro1()
'
' Makro1 Makro
' Spalten(2 bis 135) einer Tabelle(2) einzeln in ein neues Arbeitsblatt kopieren (Spalte 2) und als Txt speichern
'

    Dim mycount As Integer
    mycount = 1

' Schleife von 1 bis 134   
    Do While mycount <= 134
        Sheets(2).Select
        Columns(mycount + 1).Select
        Selection.Copy
        Sheets(3).Select
        Columns(2).Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Range("B1:B4").Select
        Application.CutCopyMode = False
        Selection.Cut
        Range("A1").Select
        ActiveSheet.Paste
' Export-Tabellen mit Name aus A2
        Dim myvar As String
        myvar = Range("A2").Value
        ChDir "D:\ordner\"
        ActiveWorkbook.SaveAs Filename:= _
            myvar, FileFormat:=xlText, _
            CreateBackup:=False
        mycount = mycount + 1
    Loop
End Sub








C2D 6420 // 3,2Ghz @Nexxxos XP
Gigabyte  P35 DS3P
4096 MB DDR-800 CL4 A-Data Vitesta Ex.
Sapphire HD4890 Vapor-X
60 GB OCZ Vertex
80 GB WD Caviar SE
    
Enermax Liberty 400W
Black ICE Stealth GT360 @ SilenX
                                                      





AMD X2 240 @ Shuriken
Asrock M3A785GMH
2048 MB MDT DDR-800
SkyStar 2HD
Cinergy DT USB XS Diversity
WD15EADS
Seasonic S12II 330W
OrigenAE S10V