Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
884to888
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

in mehreren Workbooks den gleichen Makro starten

in mehreren Workbooks den gleichen Makro starten
05.07.2007 19:48:56
Peter
Guten Abend
Ich habe eine Menge gleicher Workbooks, in denen gleiche Makros vorhanden sind. Beispielsweise ein Makro Spezial_Schutz, der mir die jeweilige Datei wie gewünscht schützt.
Nun habe ich des öftern mehrere socher Workbooks offen und möchte einen Code in der persönlichen Makrodatei ablegen, der mir in allen offenen Workbooks diesen Makro-Spezialschutz ausführt. Ich möchte diese jedoch nicht manuell einzeln anwählen.
Kann mir jemand helfen?
Vielen Dank, Peter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: in mehreren Workbooks den gleichen Makro starten
05.07.2007 20:19:23
chris
versuch das mit einer for each schleife zu lösen.
Wenn du das nicht schaffst stell doch mal deinen code online den du zum schützen verwendest.
gruß Chris

AW: in mehreren Workbooks den gleichen Makro starten
05.07.2007 22:58:36
Peter
Hallo Chris
Ich steht da etwas am Berg, mit "for each" ein offenes Workbook nach dem anderen anzuwählen. Deshalb danke für das Angebot.
Ich habe auf der einen Seite ein Code, der die meisten Tabellen innerhalb des Workbooks schützt und einen, der die meisten Tabellen innerhalb des Workbooks entschützt. Den Code möchte ich grundsätzlich in diesen Workbooks lassen, damit er einzeln angewählt werden kann. Ich möchte nur die Möglichkeit haben, fallweise alle offenen Dateien zu entschützen oder eben zu schützen.
Vielen Dank, Peter
Option Explicit

Sub Aufheben()
Dim Wks As Worksheet
Dim myPwd As String
'myPwd = Application.InputBox("Passwort eingeben")
For Each Wks In ThisWorkbook.Worksheets
Select Case Wks.Name
Case "Inventar", "Import”
Case Else
Wks.Protect Password:=myPwd
End Select
Wks.Unprotect Password:=myPwd
Next
End Sub



Sub DateiSchützen()
Dim Wks As Worksheet
Dim myPwd As String
Dim myPwd2 As String
'myPwd = Application.InputBox("Passwort eingeben")
'myPwd2 = Application.InputBox("Wiederholung")
Call Aufheben    ‘’”sicherheitshalber” alle aufheben
Call Eingabeschutz
For Each Wks In ThisWorkbook.Worksheets
If myPwd = myPwd2 Then
Select Case Wks.Name
Case "Inventar", "Import"
Case Else
Wks.Protect DrawingObjects:=True, _
contents:=True, _
UserInterfaceOnly:=True, _
Scenarios:=True, Password:=myPwd
End Select
End If
Next
End Sub


Anzeige
AW: in mehreren Workbooks den gleichen Makro start
05.07.2007 23:24:00
Uduuh
Hallo,
sowas?

Sub Aufheben_alle_WB()
Dim Wks As Worksheet, WKB As Workbook
Dim myPwd As String
'myPwd = Application.InputBox("Passwort eingeben")
For Each WKB In Workbooks
For Each Wks In WKB.Worksheets
Select Case Wks.Name
Case "Inventar", "Import”"
Case Else
Wks.Protect Password:=myPwd
End Select
Wks.Unprotect Password:=myPwd
Next Wks
Next WKB
End Sub


Gruß aus’m Pott
Udo

AW: in mehreren Workbooks den gleichen Makro start
06.07.2007 00:31:00
Peter
Hallo Udo
Vielen Dank. Mir ist noch nicht ganz klar, durch welchen Codeteil bewirkt werden soll, dass alle offenen Arbeitsmappen abgearbeitet werden.
Was bewirkt genau: For Each WKB In Workbooks
werden hier die offenen Workbooks angesprochen?
Danke und Gruss, Peter

Anzeige
JA, denn das ist eine sog. For-Each-Schleife,...
06.07.2007 15:41:07
Luc:-?
...Peter,...
...und das heißt ja bekanntlich Für Jede/n/s - hier nämlich Workbook - zumal ja auch WKB als Workbook deklariert wurde.
Gruß Luc :-?

AW: JA, denn das ist eine sog. For-Each-Schleife,...
06.07.2007 22:27:00
Peter
Hallo Luc
Vielen Dank - ich vermisste schlicht irgend einen Hinweis (im Code), dass die offenen Workbooks angesprochen sind - doch dies scheint hier klar zu sein.
Wie müsste ich die offenen Workbooks eingrenzen, z.B. wenn nur offene Workbooks bearbeitet werden sollen, bei denen der Name mit "875" anfängt?
Vielen Dank und Gruss, Peter

AW: JA, denn das ist eine sog. For-Each-Schleife,...
07.07.2007 12:28:05
Original
Hi,

Sub Aufheben_alle_WB()
Dim Wks As Worksheet, WKB As Workbook
Dim myPwd As String
'myPwd = Application.InputBox("Passwort eingeben")
For Each WKB In Workbooks
If WKB.Name Like "875*" Then
For Each Wks In WKB.Worksheets
Select Case Wks.Name
Case "Inventar", "Import”"
Case Else
Wks.Protect Password:=myPwd
End Select
Wks.Unprotect Password:=myPwd
Next Wks
End If
Next WKB
End Sub


mfg Kurt

Anzeige
AW: JA, denn das ist eine sog. For-Each-Schleife,...
07.07.2007 22:56:23
Peter
Hallo Kurt
Vielen Dank - ausprobieren kann ich es erst nächste Woche, aber ich bin überzeugt, dass es laufen wird.
Gruss, Peter

...ich auch! Gruß owT
09.07.2007 13:52:00
Luc:-?
:-?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige