Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1336to1340
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

xlsx einlesen und verarbeiten

xlsx einlesen und verarbeiten
19.11.2013 09:03:20
Mike
Hallo zusammen
Ich habe ein Makro, welches zwei CSV einliest und einige Zellen, bzw. Spalten aus beiden vergleicht.
Nun ist es jedoch so, das die eine Datei kein CSV sondern eine .xlsx - Datei ist. Nun falle ich mit folgendem auf die Schnauze und im File wird nur "Schrott" eingelesen/angezeigt und kann somit nicht verglichen werden.
  Dim wksCSV_C As Worksheet
With wksCSV
.Cells.Clear
With .QueryTables.Add(Connection:= _
"TEXT;" & strDatei_C, Destination:=wksCSV.Range("$A$1"))
.Name = "CSV"
.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 = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 2, 2, 2)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Wie würded ihr ein xlsx einlesen? - Ist es möglich dies wie oben als Query Table einzulesen, damit ich die Vergleiche der Datein so einfach handhaben kann? Oder muss ich die Datei via "wksCSV.Open Filname := hierDerFilname" einlesen und so bearbeiten? Gibt es hierfür besser Möglichkeiten?
Was vielleicht noch wichtig ist, ich will die xlsx Datei einlesen, dann wird automatisch das CSV in einem neuen Tabellenblatt eingelesen. Dann werden beide verglichen und im Tabellenblatt des xlsx, werden gewisse Unterschiede gekennzeichnet.
Dies wäre die Endfunktion. Und hat mit zwei CSV funktioniert...
Ich kann die xlsx leider nicht vorgängig zu CSV machen sondern muss diese so verwenden.
Wäre schon um einen Denkanstoss sehr dankbar.
mfG
Mike

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: xlsx einlesen und verarbeiten
19.11.2013 19:04:10
Wolfgang33
Hallo Mike,
wie muss ich mir das vorstellen? Du importierst die csv1 in Tabelle1, die csv2, bzw. die xlsx in Tabelle2, vergleichst und ermittelst dann die Unterschiede, die du dann in die xlsx in eine hinter die Datensätze dokumentierst?
Gruß, Wolfgang

AW: xlsx einlesen und verarbeiten
20.11.2013 08:07:09
Mike
Hallo Wolfgang
Also alles wird vom Makro durchgeführt:
  • xlsx Datei wird ins erste Tabellenblatt eingelesen

  • csv Datei wird ins zweite Tabellenblatt eingelesen
  • Spalte C wird verglichen
  • Es wird im xlsx durch jede Zelle in dieser Spalte gesteppt

  • Zu jedem Eintrag wird geschaut, ob der selbe irgendwo im csv in Spalte C vorkommt

  • Falls nun ein Eintrag im xlsx nirgends im csv vorkommt, so wird dies beim Eintrag im xlsx farblich vermerkt (roter Hintergrund)


  • Meine Hauptprobleme, oder besser gesagt die Bereiche in welchen ich einen Anstoss brauche sind.
  • Wie lese ich ein xlsx korrekt ein damit ich dies einfach wie oben vergleichen kann?

  • Wie vergleiche ich am besten/einfachsten?

  • Ich hoffe das war verständlich.
    mfG
    Mike

    Anzeige
    AW: xlsx einlesen und verarbeiten
    20.11.2013 18:05:58
    Mike
    Hallo
    Dieser Beitrag kann von meiner Seite her gelöscht werden.
    Habe keinen anderen Weg gefunden ein File einzulesen damit es für mich funktioniert ausser:
     Set wb = Workbooks.Open(Datei_A)
    wb.Sheets(1).Copy before:=wkbMappe.Sheets(1)
    
    Den Rest kann man ja einfach mit einer Schleife abarbeiten.
    Stand total auf dem Schlauch bei den Überlegungen und habe zu weit studiert.

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige