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, 11137 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 ..
Ähnliche Inhalte
VB for Applications
gelöst EXCEL VBA Zellen verbinden. MERGE (6)

Frage von Aximand zum Thema VB for Applications ...

VB for Applications
gelöst VBA Excel Skript - Hilfe! (1)

Frage von Compu2017 zum Thema VB for Applications ...

Microsoft Office
VBA Code zum Kopieren von einzelnen Zellen in Excel (3)

Frage von SebastianL zum Thema Microsoft Office ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...