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

Daten importieren

Daten importieren
22.03.2005 16:53:45
Sascha
Hallo,
ich habe mir ein Makro erstellt (über aufzeichnen), welches mir in eine leere Exceltabelle eine ganz bestimmte Datei importiert (so mit Trennzeichen etc.). Nun ist es aber so, dass man jedes mal die zu importierende Datei genauso umbenennen muss wie diese ursprünglich bei der Makroerstellung geheissen hat. Kann man nicht ein Makro erstellen, welches nachfragt welche Datei importiert werden soll?
Beispiel:
In einem Ordner befinden sich die Dateien art.111; art.222; art.333.
Wenn ich nun das Makro anklicke, soll er mich fragen, welche der in dem Ordner befindlichen Dateien ich importieren möchte (entweder .111, .222, .333).
Ist so etwas möglich?
Gruss
Sascha

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

Betreff
Datum
Anwender
Anzeige
AW: Daten importieren
22.03.2005 17:11:36
ransi
hallo sascha
dim gofn
gofn=application.getopenfilename
if gofn false then
'jetzt dein code zum importieren
' an der stelle wo dein dateiname steht schreibst du gofn
end if
könnte klappen
ransi
AW: Daten importieren
22.03.2005 17:16:00
Volker
Hallo Sascha,
folgende Prozedur benutzt das bekannte Dialogfenster zum Öffnen einer beliebigen txt-Datei:
Es werden nur txt-files angezeigt.
Willst Du andere files als *.txt sehen, einfach in der 2. Zeile anpassen
Public

Sub txt_öffnen()
datei = Application.GetOpenFilename("Textdateien (*.txt), *.txt,Alle Dateien (*.*), *.*", , _
"Choose file to open")
If datei = False Then
Exit Sub
End If
Workbooks.OpenText Filename:=datei _
, Origin:=437, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(20 _
, 1), Array(29, 1), Array(42, 1), Array(55, 1), Array(68, 1)), _
DecimalSeparator:=".", ThousandsSeparator:=" ", TrailingMinusNumbers:=False
End Sub

Gruß
Volker
Anzeige
AW: Daten importieren
22.03.2005 17:22:55
Peter
Hallo Sascha,
so kannst du dir alle Dateien anzeigen lassen
und per Doppelklick die gewünschte in dein Makro holen


Sub Datei_auswaehlen()
Dim DName    As String
   DName = Application.GetOpenFilename            ' Auswahl der zu öffnenden Textdatei
     
   If DName = "Falsch" Then                       ' Abbrechen gedrückt ?
      ActiveWindow.SelectedSheets.Delete          ' aktives Blatt löschen
      Exit Sub                                    ' SUB verlassen
   End If
   Open DName For Input As #1                     ' ausgewählte Eingabedatei öffnen
End Sub


Viele Grüße Peter
Anzeige
AW: Daten importieren
23.03.2005 10:05:09
Sascha
Hallo,
vielen Dank erstmal für eure Antworten. Ich habe mich jetzt für folgende Variante entschieden:

Sub Import()
' Import Makro
Dim DName    As String
DName = Application.GetOpenFilename            ' Auswahl der zu öffnenden Textdatei
If DName = "Falsch" Then                       ' Abbrechen gedrückt ?
ActiveWindow.SelectedSheets.Delete          ' aktives Blatt löschen
Exit 

Sub                                    ' 

Sub verlassen
End If
Open DName For Input As #1                     ' ausgewählte Eingabedatei öffnen
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\HP-Downloads\artiwin.364", Destination:=Range("A1"))
.Name = "artiwin"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub

Er springt zwar immer nur in den in Excel hinterlegten Standardspeicherort, aber das ist nicht so schlimm. Das einzig "unschöne" ist die Tatsache, dass man das Makro nur einmal ausführen kann. Schliesst man danach die Mappe und versucht dies bei einer neuen (Mappe 2), so gibt dies den Laufzeitfehler 55 und dem Hinweis Datei bereits geöffnet. Hier muss man Excel erst einmal schliessen und wieder öffnen, dann geht es.
Bis hierhin aber erst nochmal vielen Dank.
Sascha
Anzeige
AW: Daten importieren
23.03.2005 13:47:38
Sascha
Alles zurück. Makro funktioniert nicht, da er sich immer die gleiche Datei nimmt. Ich bin was Makros angeht absoluter Laie und weiss auch nicht wie man jetzt ein von mir erstelltes Makro mit einem anderen zusammenfügt (klar, Cut & Paste ist logisch). Die Reihenfolge ist mir unklar.
Gruss
Sascha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige