Veröffentlicht 22. November 201113 j Hallo Community, ich habe folgendes Problem: Auf einem Webserver wird alle x Zeiteinheiten eine csv-Datei abgelegt. Diese ist dann über eine URL frei verfügbar. Ich möchte nun, dass jeder, der ein bestimmtes Excel-Dokument öffnet, automatisch diese Datei per Makro einliest und daraus eine Tabelle auf Worksheet "Files" generiert. Meine csv-Datei sieht folgendermaßen aus (dies ist nur exemplarisch ein Teil einer Zeile): smolid,smolfa,sma,uu47,... Ich bekomme das auch hin, dass die Datei in die Tabelle eingefügt wird. Und zwar hiermit: Sub GetCSVfromWebserver() ' ' GetCSVfromWebserver Makro ' ' With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://ADRESSE/sereports/sec_files.csv", Destination:=Range("$A$1")) .Name = "sec_files.csv" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With End Sub Aber ich bekomme eine Sache einfach nicht gebacken: Er soll die Kommas als Delimiter ansehen, aber das tut er einfach nicht. Ich würde ja auch die Delimiter ändern, man kann auch ein Semikolon einfügen oder ein $ oder ein %. Hat jemand eine Idee, wie man das bewerkstelligen könnte, dass er die Delimiter erkennt? Grüße, starbuck86
22. November 201113 j Ok. Habe die Lösung: Diese 2 Befehle wandeln den Text in Spalten um und passen die Spaltenbreite jeweils an. Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 4), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1)) Columns("A:F").EntireColumn.AutoFit Gruß, starbuck86
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.