Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
828to832
828to832
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Formatierung und als CSV exportieren

Formatierung und als CSV exportieren
15.12.2006 11:15:19
Matthias
Hallo alle zusammen,
habe folgende Situation, für die ich ein MAKRO erstellen möchte:
2 Excel Dateien sollen formatiert werden und anschließend in einer CSV Datei gespeichert werden.
Die Ursprungsdateien bestehen aus 2 Spalten.
Tabelle 1:
Vor die erste Spalte soll eine neue Spalte eingefügt werden, die mit der Funktion Autofill in jede Zelle "DE" schreibt , solang rechts daneben keine leere Zelle ist ... sieht dann also ungefähr so aus:
DE 123 456
DE 1235 abc
DE 5123 xztu
Rechts davon soll ein S Verweis stehen, der auch ausgefüllt wird bis zur ersten leeren Zelle (links davon):
DE 123 456 "s-verweis"
DE 1235 abc "s-verweis"
DE 5123 xztu "s-verweis"
bei Tabelle 2 soll das gleiche nur mit "EN" anstatt "DE" passieren.
Das Ergebnis soll eine .csv Datei sein, in der beide Tabellen dann enthalten sind ... mit DE/EN und dem S-Verweis (allerdings ohne #NV, aber das Ersetzen Marko hab ich schon rausgefunden *g*).
Ich hoffe ihr könnt mir weiterhelfen, bitte schön ausführlich erklären, sitze da nämlich schon länger dran und irgendwie so 100 % mags nich funktionieren
Vielen Dank schonmal !!!!
Mein jetziges Makro:

Sub Auto_Open()
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Range("A1").Select
ActiveCell.FormulaR1C1 = "Sprache"
Range("A2").Select
ActiveCell.FormulaR1C1 = "DE"
Selection.AutoFill Destination:=Range("A2:A300"), Type:=xlFillDefault
Range("A2:A300").Select
ActiveWindow.ScrollRow = 1
Columns("C:C").EntireColumn.AutoFit
Range("D1").Select
Windows("W45Deutsch.xls").Activate
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-2],'X:\groups\Warengruppe\Datenbank\W 4_5\[W45Abteilung.xls]Tabelle1' C3:C5,3,FALSE)"
Selection.AutoFill Destination:=Range("D2300")
Columns("D").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Call Leer
Range("D2188").Select
ActiveWindow.SmallScroll Down:=18
ActiveWindow.ScrollRow = 73
ActiveWindow.ScrollRow = 135
ActiveWindow.ScrollRow = 180
ActiveWindow.ScrollRow = 1
End Sub

Gruß
Matthias

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung und als CSV exportieren
15.12.2006 13:23:11
Matthias
Hallo nochmal.
Das mit dem Autofill ist jetzt geklärt, brauche nur noch ein Makro, dass die beiden einzelnen XLS dateien zu einer csv datei zusammenfügt. Sollen dabei einfach nahtlos untereinander stehen und natürlich nur mit einmaliger Zeilenüberschrift.
Danke fürs Helfen,
Matthias
AW: Formatierung und als CSV exportieren
16.12.2006 13:31:44
fcs
Hallo Mathias,
als Muster für den Export der 4 Spalten in eine Textdatei kannst du das folgende Muster verwenden. Du muss dann noch checken ob du mit Print oder mit Write das gewünschte Ergebnis erzielst.
Gruss
Franz

Sub TabelleninTextDatei()
Dim wks As Worksheet, Zeile As Long, TextDatei As String, FF
'Deklarationen für die zu exportierenden Daten in den Spalten, diese entsprechend anpassen
Dim SpalteA As String, SpalteB As Integer, SpalteC As String, SpalteD As String
TextDatei = "C:\Test\Export1.CSV" 'Namen ggf. ändern
FF = FreeFile
Open TextDatei For Output As #FF
'1. Tabelle übertragen
Set wks = Workbooks("Datei1.xls").Worksheets("Tabelle1") ' ggf. Namen anpassen
With wks
'Spaltentitel übertragen
'Write #FF, .Cells(1, 1).Value, .Cells(1, 2).Value, .Cells(1, 3).Value, .Cells(1, 4).Value
Print #FF, .Cells(1, 1).Value & "; " & .Cells(1, 2).Value & "; " & .Cells(1, 3).Value & "; " & .Cells(1, 4).Value
'Daten übertragen
For Zeile = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
SpalteA = .Cells(Zeile, 1).Value
SpalteB = .Cells(Zeile, 2).Value
SpalteC = .Cells(Zeile, 3).Value
SpalteD = .Cells(Zeile, 4).Value
Print #FF, SpalteA & "; " & SpalteB & "; " & SpalteC & "; " & SpalteD
'Write #FF, SpalteA, SpalteB, SpalteC, SpalteD
Next
End With
'2. Tabelle übertragen
Set wks = Workbooks("Datei2.xls").Worksheets("Tabelle1") ' ggf. Namen anpassen
With wks
'Daten übertragen
For Zeile = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
SpalteA = .Cells(Zeile, 1).Value
SpalteB = .Cells(Zeile, 2).Value
SpalteC = .Cells(Zeile, 3).Value
SpalteD = .Cells(Zeile, 4).Value
Print #FF, SpalteA & "; " & SpalteB & "; " & SpalteC & "; " & SpalteD
'Write #FF, SpalteA, SpalteB, SpalteC, SpalteD
Next
End With
Close #FF
End Sub

Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige