Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
296to300
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
296to300
296to300
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

statt .xls ein textfile

statt .xls ein textfile
22.08.2003 12:35:03
manu
hallo,
habe folgendes makro, was an sich bereits gut läuft. wenn ich aber nun anstelle der exceldatei ein textformat (.txt) benutzen möchte, ist mein leider bereits latein am ende ..
hier das makro (die aktuelle excel datei ruft ein externes dokument auf und vergleicht eindeutige ID-einträge --> z.B. MD123456. sofern vorhanden, wird diese ins aktuelle excel-dokument eingetragen. der vorgang "öffnen, prüfen & schliessen" der externen datei passiert für den nutzer im hintergrund ):

Private Sub CommandButton1_Click()
Dim Tab1 As Worksheet, Tab2 As Worksheet, Zeile As Long, Zelle As Range
Set Tab1 = ThisWorkbook.Worksheets(2) 'hier Nummer der Tabelle anpassen
Application.ScreenUpdating = False
Application.ShowWindowsInTaskbar = False
Set Tab2 = Workbooks.Open("c:\test\treeprofile.xls").Worksheets(1)   'hier Mappenname und Tabellennummer anpassen
For Zeile = 2 To Tab1.Cells(65536, 1).End(xlUp).Row
If Trim(Tab1.Cells(Zeile, 1)) <> "" Then
Set Zelle = Tab2.Cells.Find(What:=Trim(Tab1.Cells(Zeile, 1)), LookIn:=xlValues, LookAt:=xlPart)
If Not Zelle Is Nothing Then Tab1.Cells(Zeile, 2) = Tab1.Cells(Zeile, 1)
End If
Next
For Zeile = 2 To Tab1.Cells(65536, 1).End(xlUp).Row
If Trim(Tab1.Cells(Zeile, 1)) <> "" Then
Set Zelle = Tab2.Cells.Find(What:=Trim(Tab1.Cells(Zeile, 1)), LookIn:=xlValues, LookAt:=xlPart)
If Zelle Is Nothing Then Tab1.Cells(Zeile, 3) = Tab1.Cells(Zeile, 1)
End If
Next
ActiveWorkbook.Close (True)
End Sub

.. mit dem makrorecorder erhalte ich für die textdatei die folgenden prozedur- nach dem einbau funktioniert es aber leider nicht:
ChDir "C:\test"
Workbooks.OpenText Filename:="C:\test\treeprofile.txt", Origin:= _
xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1) _
, Array(16, 1), Array(32, 1), Array(39, 1)), TrailingMinusNumbers:=True
weiss jemand weiter?
danke
manu

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: statt .xls ein textfile
22.08.2003 12:40:46
Michael Scheffler
Hi,
und wie sieht Dein externes Dokument aus? Ist es in bsetimmtesn Spalte gegliedert, lannst Du es mit ADO als Datenbank behandeln. Wenn nicht, musst Du jede einzelne Zeile einlesen und mit InStr auf das Vorhandensein Deiner ID prüfen.
Gruß
Micha

AW: statt .xls ein textfile
22.08.2003 12:46:04
manu
hallo micha,
hier ist ein auszug aus dem textfile - hilft Dir das weiter? am ende der zeilen siehst Du die relevanten IDs.
Directory of c:\pdrmovie_db\ext\default
04/27/02 03:27p .
04/27/02 03:27p ..
04/27/02 09:05p 1,280 MH000194
11/28/02 10:38a 1,280 MD001125
04/27/02 09:06p 1,280 MH000196
04/27/02 09:06p 1,280 MH000197
04/27/02 09:06p 1,280 MH000198
04/27/02 09:07p 1,280 MH000199
04/27/02 09:07p 1,280 MH000200
04/27/02 09:07p 1,280 MH000201
04/27/02 03:54p 1,280 ~tmp
04/27/02 09:07p 1,280 MH000202
05/02/02 12:42p 1,280 MD000876
04/27/02 09:08p 1,280 MH000204
04/27/02 09:08p 1,280 MH000205

Anzeige
AW: statt .xls ein textfile
22.08.2003 12:52:56
Michael Scheffler
Hi,
aber ich verstehe nicht, das ist doch offensichtlich aus einem Dir- oder ls-Befehl auf eine Datei gepipt. Warum nutzt Du nicht gleich das Egebnis des Dir's?
Bzw. wie lautet die eigentliche Aufgabenstellung?
Gruß
Micha

AW: statt .xls ein textfile
22.08.2003 13:59:48
Armin
Hi manu,
versuch doch mal mit dem Makkrorecorder das Problem zu analysieren.
MR starten, Datei-Öffnen, auf *.txt, *cvs stellen und File mit Assistenten einlesen.
Ich würde vermuten damit kommst Du ein großes Stück weiter.

AW: statt .xls ein textfile
22.08.2003 15:31:16
manu
hallo armin,
habe genau dies versucht (siehe ende der frage), aber bekomme dann fehlermeldungen wegen "Workbooks.OpenText" .. da hat mich irgendwann mein VBA-pioniergeist verlassen ..
danke
manu

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige