Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Excel 2007, Arbeitsmappe per VBA entsperren, Inhalt hinzufügen, wieder sperren und speichern.

Frage Microsoft Microsoft Office

Mitglied: Ulmer

Ulmer (Level 1) - Jetzt verbinden

06.03.2010 um 15:26 Uhr, 14090 Aufrufe, 6 Kommentare

Hallo,

vielleicht kann mir ja einer der VBA-Experten weiterhelfen:

Ich habe eine Excel-Datei (gespeichert als .xls) mit 15 Arbeitsblättern. Die Arbeitsmappe und die Arbeitsblätter sind passwort geschützt (gleiches Passwort). In allen Arbeitsblätter soll in der Fußzeile links unten die Versionsnummer der Datei (des Formulars) eingetragen werden (z.B. V.1.1.). Die Versionsnummer wird manuell vergeben. Bislang mache ich das wegen fehlender VBA-Kenntnisse händisch. D.h.Arbeitsblatt entsperren, zur Fußzeile wechseln, die Nummer eintragen bzw. überschreiben, dann wieder sperren und dann weiter mit dem nächsten Arbeitsblatt. Gibt es eine Möglichkeit, dies über VBA zu automatisieren und könnte mir dabei jemand helfen?

Viele Grüße
Ulmer
Mitglied: bastla
06.03.2010 um 15:41 Uhr
Hallo Ulmer!

Sollte sich ziemlich direkt durch das Aufzeichnen eines Makros zunächst für eine Mappe und das nachfolgende Einbetten (erste zwei Zeilen unmittelbar nach "Sub Makro1()", letzte zwei Zeilen unmittelbar vor "End Sub") des entstandenen Makros in eine Schleife der Art
01.
For Each Blatt In Worksheets() 
02.
    Blatt.Activate 
03.
    'hier Dein Makro-Code 
04.
Next 
05.
Worksheets(1).Activate
durchführen lassen.

Grüße
bastla
Bitte warten ..
Mitglied: 76109
06.03.2010 um 16:36 Uhr
Hallo Ulmer, Hallo bastla!

Wobei in der Each-Schleife auch noch die Anweisungen zum sperren und entsperren stehen:
01.
For Each Blatt in Worksheets() 
02.
    Blatt.Unprotect Password:="Passwort" 
03.
    ..... 
04.
    ..... 
05.
    Blatt.Protect Password:="Passwort" 
06.
Next
Das Passwort könnte dabei im Code stehen, per InputBox unverschlüsselt (Reiner Text) oder per UserForm verschlüsselt (* * * *) abgefragt werden.

Gruß Dieter
Bitte warten ..
Mitglied: bastla
06.03.2010 um 16:53 Uhr
@76109

Danke für die Ergänzung - das Entsperren des Blattes wird zwar beim Aufzeichnen des Makros auch erfasst als
ActiveSheet.Unprotect
(diese Zeile kann dann im aufgezeichneten Makro ebenso entfernt werden wie das Gegenstück "ActiveSheet.Protect + einige Paramete" am Ende ), die Übergabe des Passworts muss allerdings im Code ergänzt werden.
Das Passwort könnte dabei im Code stehen, per InputBox unverschlüsselt (Reiner Text) oder per UserForm verschlüsselt (* * * *) abgefragt werden.
Mit der Variante "InputBox" würde das dann so aussehen:
01.
PW = InputBox("Bitte das Blattschutz-Passwort eingeben!", "Passwort eingeben") 
02.
For Each Blatt in Worksheets() 
03.
    Blatt.Unprotect Password:=PW 
04.
    ..... 
05.
    ..... 
06.
    Blatt.Protect Password:=PW 
07.
Next
Annahme dabei: Alle Blätter werden mit dem selben Passwort geschützt - anderenfalls müsste die Reihenfolge der Zeilen 1 und 2 vertauscht werden.

Grüße
bastla
Bitte warten ..
Mitglied: 76109
06.03.2010 um 17:57 Uhr
@bastla

Zitat von bastla:
Danke für die Ergänzung - das Entsperren des Blattes wird zwar beim Aufzeichnen des Makros auch erfasst als.....
Gern geschehen
Annahme dabei: Alle Blätter werden mit dem selben Passwort geschützt - anderenfalls müsste die Reihenfolge der
Zeilen 1 und 2 vertauscht werden.
In dem Fall, was ich schon als sehr ungewöhnlich empfinde, müsste man dann aber das aktuelle Blatt im Text der InputBox mit angeben, sonst weiß man ja nicht, welches Blatt gerade bearbeitet wird

Gruß Dieter
Bitte warten ..
Mitglied: bastla
06.03.2010 um 18:11 Uhr
@76109
müsste man dann aber das aktuelle Blatt im Text der InputBox mit angeben, sonst weiß man ja nicht, welches Blatt gerade bearbeitet wird
Ebenfalls sehr sinnvoll (durch "Blatt.Activate" wird zwar auf die jeweilige Tabelle gewechselt, allerdings erst einen Schritt später) ...

Die "InputBox" könnte dann so aufgerufen werden:
PW = InputBox("Bitte das Blattschutz-Passwort für " & Blatt.Name & " eingeben!", "Passwort für " & Blatt.Name) 
Grüße
bastla
Bitte warten ..
Mitglied: Ulmer
08.03.2010 um 10:15 Uhr
Hallo bastla, hallo Dieter,

vielen Dank für die umfassende und schnelle Unterstützung. Ich werde eure Vorschläge gleich mal ausprobieren.

Viele Grüße
Ulmer
Bitte warten ..
Ähnliche Inhalte
Basic
gelöst Excel VBA - speichern, senden, Pfad angeben (3)

Frage von next01de zum Thema Basic ...

Microsoft Office
gelöst VBA Excel Tabellenblätter als PDF speichern (8)

Frage von Florian86 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel VBA - Inhalte und Dateiname von txt-Dateien automatisch in Excel importieren (2)

Frage von Booster07 zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel-Formel oder VBA (7)

Frage von nicki01 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (21)

Frage von McLion zum Thema Router & Routing ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (20)

Frage von jensgebken zum Thema Windows Server ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Festplatten, SSD, Raid
gelöst Raidcontroller funktioniert nur, wenn unter Legacy-Boot gestartet wird (14)

Frage von DerWoWusste zum Thema Festplatten, SSD, Raid ...