Discussion:
Import einer einfachen Textdatei in Excel?
(zu alt für eine Antwort)
Michael Logies
2015-07-25 13:18:11 UTC
Permalink
Hallo,

es geht um folgende Texttabelle:
https://www.cia.gov/library/publications/the-world-factbook/rankorder/rawdata_2187.txt

(Ausgangsseite ist:
https://www.cia.gov/library/publications/the-world-factbook/rankorder/2187rank.html)

Ich möchte die dort genanntne Beträge alle addieren, sollten
eigentlich 0 ergeben...

Aber mit den gängigen Importfiltern (Excel, Openoffice) klappt die
Übernahme nicht. Hat jemand eine Idee, wie das geht?

Danke!

M.
Claus Busch
2015-07-25 13:59:09 UTC
Permalink
Hallo Michael,
Post by Michael Logies
https://www.cia.gov/library/publications/the-world-factbook/rankorder/rawdata_2187.txt
dieses Textfile habe ich unter dem Namen "rawdata_2187.txt"
auf dem Desktop gespeichert.
Öffne eine neue Excelmappe => Daten => Externe Daten => Aus Text und
wähle diese Datei. Im Importassistent wähle "Feste Breite" und weiter.
Stelle im zweiten Schritt die Separatorpfeile an die richtige Stelle und
weiter. Im dritten Schritt wähle für die erste Spalte mit der
Zeilennummern "Spalten nicht Importieren" und gehe auf "Fertig stellen".
Dann kannst du in Spalte B das $-Zeichen durch Nichts ersetzen und die
Kommata mit einem Punkt und du hast echte Zahlen und kannst damit
rechnen.

Diesen ganzen Vorgang kannst du mit VBA machen lassen mit:

Sub Import()

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\Claus\Desktop\rawdata_2187.txt", _
Destination:=Range("$A$1"))
.Name = "rawdata_2187"
.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 = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileColumnDataTypes = Array(9, 1, 1)
.TextFileFixedColumnWidths = Array(7, 51)
.TextFileDecimalSeparator = "."
.TextFileThousandsSeparator = ","
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

Columns("B:B").Replace What:="$", Replacement:="", _
LookAt:=xlPart
Columns("B:B").Replace What:=",", Replacement:=".", _
LookAt:=xlPart
End Sub


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
Michael Logies
2015-07-25 18:55:51 UTC
Permalink
Claus,

herzlichen Dank!
Mit VBA-Skripten habe ich keine Erfahrung, aber manuell ging es dank
Deiner Beschreibung dann auch.

Grüße

M.
Claus Busch
2015-07-25 19:12:04 UTC
Permalink
Hallo Michael,
Post by Michael Logies
Mit VBA-Skripten habe ich keine Erfahrung, aber manuell ging es dank
Deiner Beschreibung dann auch.
öffne die gewünschte Mappe und drücke Alt+F11
Dann bist du im VBA-Editor. Wähle dort Einfügen => Modul und kopiere den
Code in das Fenster.
Dann kannst du im Blatt unter Entwicklertools => Makros das Makro
anwählen und laufen lassen.


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
Lesen Sie weiter auf narkive:
Loading...