Exceldateien per vba im Hintergrund öffnen
Achtung Anfänger!
Hallo zusammen,
ich möchte gern ein Inventar unserer Exceldateien incl. der Gesamtzahl Arbeitsblätter und Formeln anfertigen (fragt nicht - ich versuche mich an einer Art Vorsortierung für das Thema Programmeinsatzverfahren).
Meine Funktion macht im wesentlichen schon das, was sie soll - nur Recht unschön. Die zu analysierende Datei wird (sichtbar) geöffnet und wieder geschlossen.
Ich denke, dass kann ich bestimmt auch eleganter lösen, komme nur nicht dahinter wie und habe jetzt die Hoffnung, dass jemand einen Tipp für mich hat ....
Danke im voraus
Markus
Quelle der Zeile 17: www.excel-inside.de Der Rest ist von mir *stolz*
Version 1.0
In den Zellen A5, A6, A7, ... steht der Dateiname mit vollständigen Pfad.
Die Funktion öffnet die Tabelle, ermittelt Statistik und schreibt diese dann in B5 (Anzahl Blätter), C5 (Anzahl Formeln)
Version 1.1
Wenn ich herausgefunden habe, wie ich Verzeichnisse lesen kann, werden ab dem Startverzeichnis alle Exceldateien gelistet und analyisert ....
[Edit]
GetObject(Dateiname) ersetzt durch Workbooks.open(Dateiname)
mußte feststellen, dass das auf Nicht-Entwickler-PC's besser läuft ...
[/Edit]
Hallo zusammen,
ich möchte gern ein Inventar unserer Exceldateien incl. der Gesamtzahl Arbeitsblätter und Formeln anfertigen (fragt nicht - ich versuche mich an einer Art Vorsortierung für das Thema Programmeinsatzverfahren).
Meine Funktion macht im wesentlichen schon das, was sie soll - nur Recht unschön. Die zu analysierende Datei wird (sichtbar) geöffnet und wieder geschlossen.
Ich denke, dass kann ich bestimmt auch eleganter lösen, komme nur nicht dahinter wie und habe jetzt die Hoffnung, dass jemand einen Tipp für mich hat ....
Danke im voraus
Markus
Sub Statistik()
Dim Anzahl As Long
Dim Blatt As Variant
Dim Zeile As Long
Dim Dateiname As String
Dim wbXL As Excel.Workbook
Zeile = 5
Dateiname = Cells(Zeile, 1)
While Dateiname <> ""
Anzahl = 0
Set wbXL = workbooks.open(Dateiname)
On Error Resume Next
For Each Blatt In wbXL.Worksheets
Anzahl = Anzahl + CLng(Blatt.Cells.SpecialCells(xlCellTypeFormulas).Count)
Next
On Error GoTo 0
Cells(Zeile, 2) = wbXL.Worksheets.Count
Cells(Zeile, 3) = Anzahl
wbXL.Close (False)
Set wbXL = Nothing
Zeile = Zeile + 1
Dateiname = Cells(Zeile, 1)
Wend
End Sub
Quelle der Zeile 17: www.excel-inside.de Der Rest ist von mir *stolz*
Version 1.0
In den Zellen A5, A6, A7, ... steht der Dateiname mit vollständigen Pfad.
Die Funktion öffnet die Tabelle, ermittelt Statistik und schreibt diese dann in B5 (Anzahl Blätter), C5 (Anzahl Formeln)
Version 1.1
Wenn ich herausgefunden habe, wie ich Verzeichnisse lesen kann, werden ab dem Startverzeichnis alle Exceldateien gelistet und analyisert ....
[Edit]
GetObject(Dateiname) ersetzt durch Workbooks.open(Dateiname)
mußte feststellen, dass das auf Nicht-Entwickler-PC's besser läuft ...
[/Edit]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 172299
Url: https://administrator.de/contentid/172299
Ausgedruckt am: 24.11.2024 um 18:11 Uhr
1 Kommentar