Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
312to316
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
312to316
312to316
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei sortiert importieren/einfügen

Datei sortiert importieren/einfügen
24.09.2003 16:08:09
Marco
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

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei sortiert importieren/einfügen
24.09.2003 16:26:35
LotharP
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
AW: Datei sortiert importieren/einfügen
24.09.2003 17:10:40
Marco
genau richtig....Danke für deine Hilfe
AW: Datei sortiert importieren/einfügen
24.09.2003 17:24:36
LotharP
Hallo Marco,

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

Gruß

Lothar
AW: Datei sortiert importieren/einfügen
24.09.2003 16:35:08
Koenig W.
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
Anzeige
AW: Datei sortiert importieren/einfügen
24.09.2003 16:35:15
Koenig W.
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
AW: Datei sortiert importieren/einfügen
24.09.2003 18:12:41
Koenig W.
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
Anzeige
Da bin ich wieder
24.09.2003 18:20:00
LotharP
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
Anzeige
Vielen Dank Euch zwei....
25.09.2003 13:00:11
Marco
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige