Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: vbapdant zu Textdatei importieren.

vbapdant zu Textdatei importieren.
06.07.2005 16:48:46
Reinhard
Hallo Wissende,
wenn ich in Excel
Daten--Externe Daten--Textdatei importieren... ausführe, dann z.B. eine .csv auswähle so bietet mir Excel später an die Zelle auszuwählen ab der die importiereten Daten eingefügt werden.
Ich finde dazu nichts in vba wo ich diese Zelle angeben kann bei einem Open-Befel bzw opentext befehl.
Gibt es da kein Pedant für dies Excelfunktionalität in Vba?
Also etwas was so ähnlich aussehe:
Workbooks.OpenText filename:="c:\test\test.csv", dataType:=xlDelimited, comma:=True, destination:="D5"

Wobei das kein neues Workbook sein soll sondern die daten b D5 im aktiven Blatt eingefügt werden sollen.
Gruß
Reinhard
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vbapdant zu Textdatei importieren.
06.07.2005 17:13:58
IngGi
Hallo Reinhard,
öffne die Datei normal, so dass du Daten ab Zelle A1 zu stehen hast und füge anschliessend 4 Leerzeilen und 3 Leerspalten ein:
With ActiveWorkbook.Sheets(1)
.Range("A1:A4").EntireRow.Insert
.Range("A1:C1").EntireColumn.Insert
End With

Gruß Ingolf
Anzeige
AW: vbapdant zu Textdatei importieren.
06.07.2005 18:02:14
IngGi
Hallo Reinhard,
ich hab' erst beim dritten Hinsehen bemerkt, dass du die Daten in das aktive Tabellenblatt einlesen willst. Dann taugt mein erster Tipp natürlich nichts. Versuch's mal hiermit, wobei ich als Texttrennzeichen das Semikolon statt des Kommas genommen habe, da deine Datei eine .csv ist:

Sub Daten_zeilenweise_einlesen()
Dim Zeile As String, sp As Integer, ze As Integer, dat As Integer
dat = FreeFile
Open "C:\test\test.csv" For Input As #dat
ze = 5
Do Until EOF(dat)
Line Input #dat, Zeile
Do
sp = sp + 1
ActiveSheet.Range("D" & ze).Offset(0, sp - 1) = Left(Zeile, InStr(1, Zeile, ";", vbTextCompare) - 1)
Zeile = Right(Zeile, Len(Zeile) - InStr(1, Zeile, ";", vbTextCompare))
Loop While InStr(1, Zeile, ";", vbTextCompare) > 0
ActiveSheet.Range("D" & ze).Offset(0, sp) = Zeile
ze = ze + 1
sp = 0
Loop
Close #dat
End Sub

Gruß Ingolf
Anzeige
SChade, gibt wohl kein Pedant, danke o.w.T
06.07.2005 18:27:19
Reinhard
Gruß
Reinhard
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige