Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
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 - Einlesen von xls-Dateien - Codeumstellung

VBA - Einlesen von xls-Dateien - Codeumstellung
09.07.2015 12:15:39
xls-Dateien
Hallo,
mit dem folgenden Code hatte ich immer CSV-Dateien eingelesen, ab jetzt wollte ich damit xls-Dateien einlesen. Die Dateinamen bis strPath = "D:\EXPORTE\" habe ich bereits geändert.
Am Teil ab For intc habe ich noch nichts verändert, meine Versuche den Code umzuschreiben, damit xls-Dateien eingelesen werden haben nicht funktioniert.
Wer kann helfen?
Option Explicit
Sub Import() 'bis 08.07.2015 aus CSV-Dateien, ab 09.07.2015 aus xls-Dateien
Application.ScreenUpdating = False
With Application
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
.Calculation = xlCalculationManual
.Cursor = xlWait
End With
Sheets("A_Xls_Export").Range("A:BZ").ClearContents 'bis 08.07.2015 Sheets("A_Csv_Export")
Sheets("B_Xls_Export").Range("A:BZ").ClearContents 'bis 08.07.2015 Sheets ("B_Csv_Export")
Sheets("C_Xls_Export").Range("A:BZ").ClearContents 'bis 08.07.2015 Sheets ("C_Csv_Export")
Sheets("D_Xls_Export").Range("A:BZ").ClearContents 'bis 08.07.2015 Sheets ("D_CSV_Export")
Dim arrStrings(3, 1) As Variant
Dim intc As Integer
Dim strPath As String
arrStrings(0, 0) = "A_Xls_Export"                                '  Tabelle für Datei 1  -   _
Anpassen!
arrStrings(0, 1) = "a_xls_export.xls"      '  Name von Datei 1     -  Anpassen!
arrStrings(1, 0) = "B_Xls_Export"                                  '  Tabelle für Datei 2  - _
Anpassen!
arrStrings(1, 1) = "a_xls_export.xls"      '  Name von Datei 2     -  Anpassen!
arrStrings(2, 0) = "C_Xls_Export"                                    '  Tabelle für Datei 3  _
-  Anpassen!
arrStrings(2, 1) = "a_xls_export.xls"               '  Name von Datei 3     -  Anpassen!
arrStrings(3, 0) = "D_Xls_Export"                                    '  Tabelle für Datei 3  _
-  Anpassen!
arrStrings(3, 1) = "a_xls_export.xls"               '  Name von Datei 3     -  Anpassen!
strPath = "D:\EXPORTE\"                                 '  Pfad zu den Dateien  -  Anpassen! _
For intc = 0 To UBound(arrStrings)
Sheets(arrStrings(intc, 0)).Range("A2:IV65536").ClearContents
With Sheets(arrStrings(intc, 0)).QueryTables.Add(Connection:="TEXT;" & strPath &  _
arrStrings(intc, 1) _
, Destination:=Sheets(arrStrings(intc, 0)).Range("A2"))
.Name = arrStrings(intc, 0)
.FieldNames = True
.PreserveFormatting = True
.RefreshStyle = xlInsertDeleteCells
.SaveData = False
.AdjustColumnWidth = True
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.Refresh BackgroundQuery:=False
Sheets("Differenzen").Select
End With
If Sheets(arrStrings(intc, 0)).Range("F1") = "Vorname2" Then
Sheets(arrStrings(intc, 0)).Columns("F:G").Delete
End If
If Sheets(arrStrings(intc, 0)).Range("H1") = "Familienname2" Then
Sheets(arrStrings(intc, 0)).Columns("F:F").Delete
End If
Next
With Application
.StatusBar = False
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
.Calculation = xlCalculationAutomatic
.Cursor = xlDefault
End With
End Sub
Danke und Servus, Walter

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

Betreff
Datum
Anwender
Anzeige
AW: VBA - Einlesen von xls-Dateien - Codeumstellung
09.07.2015 13:50:03
xls-Dateien
Hallo Walter,
warum machst Du Dir das Leben unnötig schwer und verwendest VBA für etwas, was ganz bequem über die Standard-Funktionen von Excel zu erledigen ist? Richte doch einfach die 4 Importe über "Daten - externe Daten abrufen" ein (das ist im Grunde auch das, was Dein Code bislang macht). Dabei kannst Du auch die Spalten vom Import ausschließen, die in Deinem Code nach dem Import gelöscht werden. Zum aktualisieren musst Du dann nur noch "Daten - Alle aktualisieren" klicken.
Gruß, Jürgen

AW: VBA - Einlesen von xls-Dateien - Codeumstellung
09.07.2015 15:59:13
xls-Dateien
Hallo Jürgen,
so könnte man es vielleicht auch machen.
Da das Einlesen nur der erste kleine Teil eines GesamtMakros ist möchte ich dann doch lieber alles zusammen in einem Rutsch erledigen. Das ist für nicht so versierte Anwender dann auch einfacher.
Servus, Walter

Anzeige
AW: VBA - Einlesen von xls-Dateien - Codeumstellung
09.07.2015 18:26:45
xls-Dateien
Hallo Walter,
gut, dann nimm dazu das "Alle aktualisieren" in das Gesamt-Makro auf.
Tipp: wenn Du Excel-Tabellen per "externe Daten abrufen" importierst, erhältst Du, was früher "Listen" und heute "Tabellen" heißt. Diese haben einen (anpassbaren) Namen, über den man bequem auf die Daten zugreifen kann. Nutzt man diese, benötigt man kaum noch VBA-Code, um Formeln, Pivottabellen und Diagramme zu aktualisieren.
Gruß, Jürgen

AW: VBA - Einlesen von xls-Dateien - Codeumstellung
09.07.2015 20:10:57
xls-Dateien
Hallo,
vielleicht findet sich noch jemand, der den gezeigten Code entsprechend abändern kann.
Servus, Walter

Habs doch selbst hinbekommen. Servus, Walter
12.07.2015 10:21:03
WalterK

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige