Das Archiv des Excel-Forums

Datei sortiert importieren/einfügen

Bild

Betrifft: Datei sortiert importieren/einfügen
von: Marco

Geschrieben am: 24.09.2003 16:08:09

Hi Leute,

ich habe eine csv-Datei bzw. Textdatei, in folgendem Stiel:

2;56;5;6
1;5;65;6
10;8;4;8
usw.

In meiner Excel Tabelle habe ich ab der Zeile B5 abwärts (also die Spalte B ab Zeile 5 abwärts) eine Zahlenfolge von 1(Zeile B5) bis 200(Zeile B205) stehen.

Kann ich die CSV/txt-Datei nun automatisch per Makro einfügen, so dass er mir die jeweils erste Spalte der csv/txt Datei nimmt und diese dann an der richtigen Stelle in der Excel Tabelle einfügt?
Beispiel:
Die erste Zahl "1" (mit den restlichen Spalten) aus der Zeile 1;5;65;6 der csv/txt Datei soll in die Excel Tabelle eingefügt werden, wo die Zahl "1"(im Beispiel B5) steht.
Am Ende stehen also die Zahlen in folgenden Zellen:
B5=1 C5=5 D5=65 E5=6

Ich hoffe ihr versteht es!

Danke schon mal für Eure Hilfe

Marco
Bild


Betrifft: AW: Datei sortiert importieren/einfügen
von: LotharP
Geschrieben am: 24.09.2003 16:26:35

Hi Marco,
nein nich so ganz!
Sind die ersten Zahlen also eigentlich die "Zeilenangaben"?
Dann stünden also in Zeile 2 die Zahlen 56;5;6?

Soweit richtig?

Gruß
Lothar


Bild


Betrifft: AW: Datei sortiert importieren/einfügen
von: Marco
Geschrieben am: 24.09.2003 17:10:40

genau richtig....Danke für deine Hilfe


Bild


Betrifft: AW: Datei sortiert importieren/einfügen
von: LotharP
Geschrieben am: 24.09.2003 17:24:36

Hallo Marco,

sorry, das dauert grad wieder etwas. Hab' Geduld!
War fast fertig, da iser mir abgeschmiert!

Gruß

Lothar


Bild


Betrifft: AW: Datei sortiert importieren/einfügen
von: Koenig W.
Geschrieben am: 24.09.2003 16:35:08

Hallo Marco
ich sehe nicht, wie Du eine CSV direkt ab einer bestimmten Zelle einfügen willst aber meine Idee wäre folgende.
Die CSV öffnen im Excel, dann eine Schlaufe bauen, die die erste Zelle abfragt, in der Zieldatei nach dem enstprechenden Wert suchen und die gesamte Zeile daneben einfügen. Anschliessend nächste Zeile.
Habe keine Zeit den Code zu schreiben, aber es wäre sicher eine Möglichkeit. Am Schluss kannst Du die CSV löschen.
Gruss Wilhelm


Bild


Betrifft: AW: Datei sortiert importieren/einfügen
von: Koenig W.
Geschrieben am: 24.09.2003 16:35:15

Hallo Marco
ich sehe nicht, wie Du eine CSV direkt ab einer bestimmten Zelle einfügen willst aber meine Idee wäre folgende.
Die CSV öffnen im Excel, dann eine Schlaufe bauen, die die erste Zelle abfragt, in der Zieldatei nach dem enstprechenden Wert suchen und die gesamte Zeile daneben einfügen. Anschliessend nächste Zeile.
Habe keine Zeit den Code zu schreiben, aber es wäre sicher eine Möglichkeit. Am Schluss kannst Du die CSV löschen.
Gruss Wilhelm


Bild


Betrifft: AW: Datei sortiert importieren/einfügen
von: Koenig W.
Geschrieben am: 24.09.2003 18:12:41

Hallo Marco,
hier noch ein Vorschlag, der dir vielleicht hilft.
Folgenden Code in ein Modul in der Arbeitsmappe, in die Du die Daten importierst.

Sub CSV_Abfuellen()
Dim wkb1 As Workbook
Dim wkb2 As Workbook
Dim var As Variant
Dim bereich1 As Range
Dim bereich2 As Range
Dim zelle As Range
Set wkb1 = Application.Workbooks("imp1.xls")
Set wkb2 = Application.Workbooks("test.xls")
Set bereich2 = wkb2.Sheets(1).Range("A5:A" & wkb2.Sheets(1).UsedRange.Rows.Count)
wkb1.Sheets(1).Activate
Set bereich1 = Range("A1:A" & ActiveSheet.UsedRange.Rows.Count)
For Each zelle In bereich1
var = zelle.Value
wkb2.Sheets(1).Activate
bereich2.Find(var).Select
wkb1.Activate
Range(zelle, zelle.Offset(0, 20)).Copy
wkb2.Activate
ActiveCell.Offset(0, 1).PasteSpecial
wkb1.Activate
Next zelle
End Sub

Bei mir waren die Daten der CSV in der Datei imp1.xls
die test.xls ist die Mappe, in die Du importieren willst und auch der Code steht. In der Schleife bei Range(zelle, zelle.Offset(0, 20)).Copy musst Du die 20 anpassen an die maximale Anzahl Spalten in Deiner CSV Datei. Ich habe es mit kopieren der ganzen Zeile probiert, aber beim einfügen gab es mir dann einen Fehler, weil ich in Zelle B einfügen muss. So sollte es aber funktionieren. Es gibt sicher elegantere Möglichkeiten, aber sie funktioniert. Sollten es grosse Datenbestände sein, dann musst Du noch die Bildschirmaktualisierung abschalten und für den Fall, dass er einen Wert in der Zieltabelle nicht finden kann, dann noch eine Fehlerroutine.
Gruss Wilhelm


Bild


Betrifft: Da bin ich wieder
von: LotharP
Geschrieben am: 24.09.2003 18:20:00

Hallo ihr beiden,

Hat was länger gedauert, dafür funktionierts auch nicht! ;-)
Meine Schleife spinnt und ich steh aufm Schlauch! Is schon spät, entweder seh ichs morgen oder mir hilft einer!?

Sub Zeilenrein()
Dim zeile As Integer
Dim ursp As String
Workbooks.OpenText Filename:= _
"C:\Dokumente und Einstellungen\pruente\Eigene Dateien\Marco.txt", Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1), Array(4, 1))
ursp = ActiveWorkbook.Name
For iZeile = Range("A65536").End(xlUp).Row To 1 Step -1
zeile = ActiveCell.Value
ActiveCell.Offset(0, 1).Range(Selection, Selection.End(xlToRight)).Copy
Call Mappe(zeile, ursp)
Next iZeile
End Sub



Sub Mappe(zeile, ursp)
Windows("Marco1").Activate
Range("a" & zeile & "").Select
Selection.Insert Shift:=xlDown
Windows(ursp).Activate
ActiveCell.Offset(1, 0).Select
End Sub


Gruß
Lothar


Bild


Betrifft: Vielen Dank Euch zwei....
von: Marco
Geschrieben am: 25.09.2003 13:00:11

Vielen Dank für Eure Hilfe.
Muß Eure Vorschläge mal ausprobieren, hab aber grad etwas Stress.
Wenn Euch noch was einfällt bitte schreibt mir.

Danke


 Bild

Excel-Beispiele zum Thema " Datei sortiert importieren/einfügen"

Tabellenblattbereich sortiert als Zellkontextmenü download Elemente der Gültigkeitsprüfung immer sortiert anzeigen download
Schaltfläche anlegen und Daten an ComboBox sortiert übergeben download