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

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, 13581 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 ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel 2010 Zellen mit bestimmten Inhalt mit Makro formartierten (5)

Frage von packmann2016 zum Thema Microsoft Office ...

Microsoft Office
EXCEL 2016 Wie Tabellenblatt gegen automatische Aktualisierung sperren?

Frage von Hobi84 zum Thema Microsoft Office ...

Microsoft Office
Excel 2007: Sortierung ohne ins Datenblatt zu springen (2)

Frage von JoSiBa zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...