Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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
Inhaltsverzeichnis

VBA Code

VBA Code
BuStue
Hallo VBA-ler,
wie bekomme ich folgendenden Code zum laufen:

Sub Test ()
Dim Datei As String
With ActiveSheet.QueryTables.Add(Connection:= "TEXT;Datei = Application.GetOpenFilename
(Title:="Wähle Datei aus...",FileFilter:="Dateien (*.txt; *.csv; *.jpg),*.txt;*.csv;*. _
xls")Set Datei = ActiveSheet.Datei.Insert(Datei)", _
Destination:=Range("A3"))
.Name = "Datei"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,  _
2, 2, 2, _
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,  _
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 _
, 2, 2, 2, 2, 2, 2, 2, 2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

Für Eure Hilfe schon im Voraus dankend,
MfG
Burghard

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Code
02.09.2011 18:22:36
Jürgen
Hallo Burghard,
ich habe mir zwar nicht die Mühe gemacht, die anscheinend bei Dir erscheinende Fehlermeldung zu reproduzieren, würde Dir aber den Rat geben, den Datenimport einmal festzulegen (also einmal per "Daten - Externe Daten importieren" manuell durchgehen) und anschließend das so erzeugte Querytable-Objekt (die Abfrage) per VBA zu aktualisieren. Ein mehrfacher Aufruf Deines Codes (so er denn liefe) würde nur stets neue Querytable-Objekte erzeugen, was mindestens überflüssig ist.
Das Querytable-Objekt kannst Du aktualisieren per
ActiveSheet.QueryTables(1).Refresh False
Das entspricht dem Rechtsklick in den Importbereich und Auswahl "Aktualisieren". Die Nachfrage nach dem Dateinamen kannst Du in den Datenbereichseigenschaften aktivieren.
Gruß, Jürgen
Anzeige
AW: VBA Code
02.09.2011 22:14:04
BuStue
Hallo Jürgen V.,
recht vielen Dank für Deine Antwort. Ich hatte es bereits so gemacht, wie Du es meintest.
Das Makro soll eigentlich die ersten 2 Zeilen ausfüllen (was ich bereits aufgezeichnet habe, und hier nicht abgebildet ist) und dann sollte ein Fenster aufgehen wo ich die Datei für den Import aussuchen kann. Den Import habe ich auch aufgezeichnet, nur die Geschichte mit dem Fenster und der Auswahl der Datei bekomme ich nicht hin. Habe dazu Code zum Anfang eingefügt. Datei = Application.GetOpenFilename
(Title:="Wähle Datei aus...",FileFilter:="Dateien (*.txt; *.csv; *.jpg),*.txt;*.csv;*. _
xls")Set Datei = ActiveSheet.Datei.Insert(Datei)",....
Dies Makro soll dazu dienen übertragenen Text-Dateien einer Schnittstelle zu kontrollieren.
MfG Burghard
Anzeige
AW: VBA Code
03.09.2011 18:23:03
fcs
Hallo Burghard,
mit folgenden Anpassungen sollte der Import funktionieren.
Allerdings weiss ich nicht, was du mit
Set Datei = ActiveSheet.Datei.Insert(Datei)
erreichen willst. Ist eigentlich überflüssig.
Gruß
Franz

Sub Test()
Dim Datei As Variant
Datei = Application.GetOpenFilename( _
Title:="Wähle Datei aus...", _
FileFilter:="Dateien (*.txt; *.csv),*.txt;*.csv")
If Datei = False Then Exit Sub
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Datei, Destination:=Range("A3"))
.Name = "Datei"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, _
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

Anzeige
AW: VBA Code
04.09.2011 11:20:39
BuStue
Hallo Franz,
recht vielen Dank für Deine Hilfe, klappt einwandfrei.
So hatte ich mir das vorgestellt.
Irgendwann komm ich über das Aufzeichnen auch mal hinaus.
MfG
Burghard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige