![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Administrator
![]() |
![]() Liebe Kenner,
ich suche einen Code, mit dem ich bestimmte Zellen eines Excel Sheets in eine txt Datei exportieren kann. Wichtig ist dabei, dass die Zellen untereinander mit Semikolon ( ; ) getrennt sind und an diese Datei immer unten angehängt (also nicht überschrieben) wird. Es gibt zwar im www weitgehend viel Material dazu, aber mit meinem zweiten Anliegen stehe ich meist an. Danke & LG Jack |
![]() |
![]() |
![]() |
#2 |
Aussteiger
![]() |
![]() das schreit nach einem makro
![]()
____________________________________
Praktizierender Eristiker No hace falta ser un genio para saber quién dijo eso. Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein. |
![]() |
![]() |
![]() |
#3 |
Trashtroll
![]() |
![]() Ich denke hier wird das Thema recht ausführlich behandelt:
http://stackoverflow.com/questions/1...n-command-line Oder hier: http://www.softinterface.com/Convert...XLS-To-CSV.htm
____________________________________
It's more fun to write crap that nothing! Just kidding. ![]() Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen |
![]() |
![]() |
![]() |
#4 |
Administrator
![]() |
![]() @pc.net: Dass es ein Makro wird, war mir schon klar
![]() @ZombyKillah: Ich wollte eigentlich nicht das ganze xls in was anderes umwandeln, sondern nur den Inhalt einzelner Zellen wegschreiben lassen. |
![]() |
![]() |
![]() |
#5 |
Trashtroll
![]() |
![]() Willst du die Zeilen manuell auswählen oder anhand des Inhaltes automatisch anhängen lassen?
Für mich sieht es nach einen Fall für umwandeln, suchen, anhängen aus. Oder man baut im VB Skript von Link1 eine entsprechende Suche ein.
____________________________________
It's more fun to write crap that nothing! Just kidding. ![]() Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen |
![]() |
![]() |
![]() |
#6 |
Aussteiger
![]() |
![]() Jack, mach eine detailliertere Anforderungsbeschreibung, ev. mit Beispieltabelle, dann kann dir eher geholfen werden
![]()
____________________________________
Praktizierender Eristiker No hace falta ser un genio para saber quién dijo eso. Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein. |
![]() |
![]() |
![]() |
#7 |
Administrator
![]() |
![]() Beispiel:
In einem Excel Sheet werden verschiedene Informationen eingetragen wie z.B. Name, Adresse, Geburtsdatum, Telefonnummer und E-Mail Adresse. Jede Information in einer eigenen Zelle (eh klar). In diesem Sheet sind eine ganze Menge mehr Informationen drinnen. Ein Script/Makro/Automatismus soll 3 dieser 50 verschiedenen Zellen in ein (txt) File exportieren: Vorname, Nachname und E-Mail Adresse. Getrennt mit einem Semikolon und fortlaufend mit nächster Zeile. |
![]() |
![]() |
![]() |
#8 |
Aussteiger
![]() |
![]() sind die spalten immer an der gleichen position?
____________________________________
Praktizierender Eristiker No hace falta ser un genio para saber quién dijo eso. Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein. |
![]() |
![]() |
![]() |
#9 |
Administrator
![]() |
![]() Die Zellen sind immer gleich, hoffe Du meintest diese
![]() |
![]() |
![]() |
![]() |
#10 |
Master
![]() Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550
|
![]() Hi!
Dieser Code sollte den gewünschten Effekt bringen. Code:
Private Sub Export() Dim cnn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim strSQL As String Dim intFilehandle As Integer Dim strFilename As String Dim fld As Field Dim strLine As String cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Extended Properties=""Excel 8.0;HDR=YES;"";" _ & "Data Source=" & ThisWorkbook.Path & "\" & ThisWorkbook.Name & ";" strSQL = "SELECT [Vorname], [Nachname], [E-Mal Adresse] FROM [Tabelle1$A:E]" cnn.Open rst.Open strSQL, cnn, adOpenKeyset, adLockOptimistic strFilename = ThisWorkbook.Path & "\" & Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 3) & "txt" intFilehandle = FreeFile() Open strFilename For Output As intFilehandle Do While Not rst.EOF For Each fld In rst.Fields strLine = strLine & fld.Value & ";" Next strLine = Left(strLine, Len(strLine) - 1) Print #intFilehandle, strLine strLine = vbNullString rst.MoveNext Loop Close #intFilehandle End Sub Einige Parameter müssen angepaßt werden Name und Pfad der txt werden aus der xls übernommen. mfg WB |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|