Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Exceldateien per vba im Hintergrund öffnen

Frage Entwicklung VB for Applications

Mitglied: BigWim

BigWim (Level 2) - Jetzt verbinden

31.08.2011, aktualisiert 10:26 Uhr, 10676 Aufrufe, 1 Kommentar

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


01.
Sub Statistik() 
02.
Dim Anzahl              As Long 
03.
Dim Blatt               As Variant 
04.
Dim Zeile               As Long 
05.
Dim Dateiname          As String 
06.
Dim wbXL                As Excel.Workbook 
07.
 
08.
 
09.
Zeile = 5 
10.
Dateiname = Cells(Zeile, 1) 
11.
While Dateiname <> "" 
12.
    Anzahl = 0 
13.
    Set wbXL = workbooks.open(Dateiname) 
14.
     
15.
    On Error Resume Next 
16.
    For Each Blatt In wbXL.Worksheets 
17.
        Anzahl = Anzahl + CLng(Blatt.Cells.SpecialCells(xlCellTypeFormulas).Count) 
18.
    Next 
19.
 
20.
    On Error GoTo 0 
21.
    Cells(Zeile, 2) = wbXL.Worksheets.Count 
22.
    Cells(Zeile, 3) = Anzahl 
23.
     
24.
    wbXL.Close (False) 
25.
    Set wbXL = Nothing 
26.
    Zeile = Zeile + 1 
27.
    Dateiname = Cells(Zeile, 1) 
28.
Wend 
29.
 
30.
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]
Mitglied: BigWim
31.08.2011 um 10:04 Uhr
Kaum benutzt man die richtigen Suchwörter ....
01.
Sub Statistik() 
02.
.... 
03.
Application.ScreenUpdating = False 
04.
While Dateiname <> "" 
05.
...     
06.
Wend 
07.
Application.ScreenUpdating = True 
08.
 
09.
End Sub
Gruß
Markus
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...