Microsoft Excel

Herbers Excel/VBA-Archiv

VBA-Code

Betrifft: VBA-Code von: BuStue
Geschrieben am: 19.11.2012 09:20:12

Hallo Leute,
kann mir einer sagen, wieso folgender Code nicht funktioniert:

Sub test() ' Blattschutz
Sheets("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", " Aug", "Sep", "Okt", "Nov", "Dez", " _
Jahresübersicht").Protect (["test"]), DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
MfG Burghard

  

Betrifft: AW: VBA-Code von: Armin
Geschrieben am: 19.11.2012 09:39:38

Hallo BuStue,
weil Tabellengruppen bzw. Array nicht geschüzt werden können. Du musst alle einzeln schützen.

Gruß Armin


  

Betrifft: AW: VBA-Code von: BuStue
Geschrieben am: 19.11.2012 09:42:34

Hallo Armin,
recht vielen Dank für Deine schnelle Antwort.
Gruß
Burghard


  

Betrifft: AW: VBA-Code von: Matthias L
Geschrieben am: 19.11.2012 09:45:11

Hallo

Hier eine Variante

Option Explicit
Sub Schutz()
Dim wks As Worksheet
 For Each wks In ThisWorkbook.Worksheets
  If wks.Name = "Jan" Or wks.Name = "Feb" Or wks.Name = "Mrz" Then
   wks.Protect (["test"]), DrawingObjects:=True, Contents:=True, Scenarios:=True
  End If
 Next
End Sub
In der verkürzt dargestellten If-Anweisung mußt Du die weiteren Or-Bedingungen einfügen
Or wks.Name = "Apr" Or wks.Name = "Mai" Or wks.Name = "Jahresübersicht" ... usw

Gruß Matthias


  

Betrifft: AW: VBA-Code von: hary
Geschrieben am: 19.11.2012 09:55:34

Hallo
Sollte klappen. Ungetestet.

Dim mySheets, Blatt As Object
  Set mySheets = Sheets(Array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", " _
Okt", "Nov", "Dez", "Jahresübersicht"))
    For Each Blatt In mySheets
      Blatt.Protect (["test"]), DrawingObjects:=True, Contents:=True, Scenarios:=True
    Next

gruss hary


  

Betrifft: anstatt Or Or Or Or...SELECT CASE! owT von: Rudi Maintaire
Geschrieben am: 19.11.2012 12:21:32




  

Betrifft: Viel Wege führen nach Rom, Rudi ... von: Matthias L
Geschrieben am: 19.11.2012 12:35:07

Hallo

... deshalb stand auch drüber Hier eine Variante


Gruß Matthias


  

Betrifft: aber warum ... von: Rudi Maintaire
Geschrieben am: 19.11.2012 12:46:46

...sollte ich laufen, wenn ich fliegen kann? ;-)

Gruß
Rudi


  

Betrifft: AW: VBA-Code von: Peter Kloßek
Geschrieben am: 19.11.2012 10:12:30

Hallo Burghard,

versuche mal diese Codes:

Blätter schützen

Sub test1() ' Blattschutz

    N = 1
    
While N < 14

    Sheets(N).Protect , DrawingObjects:=True, Contents:=True, Scenarios:=True
    N = N + 1
    
Wend

End Sub
Blattschutz entfernen:
Sub test2() ' Blattschutz aufheben

    N = 1
    
While N < 14

    Sheets(N).Unprotect
    N = N + 1
    
Wend

End Sub
Soviel mir bekannt ist, können die Arbeitsblätter nur einzeln geschützt oder ungeschützt gestellt werden.

MfG

Peter Kloßek


  

Betrifft: AW: VBA-Code von: Hubert
Geschrieben am: 19.11.2012 13:14:53

Hallo Burghard

Wenn das alle Blätter in der Datei sind, dann evtl. so:

Sub Schutz()
    For I = 1 To Sheets.Count
        Sheets(I).Protect ("Test")
    Next I
End Sub

Sub Aufheben()
    For I = 1 To Sheets.Count
        Sheets(I).Unprotect ("Test")
    Next I
End Sub
Gruß, Hubert


  

Betrifft: AW: VBA-Code von: BuStue
Geschrieben am: 20.11.2012 19:20:02

Hallo Leute,
recht vielen Dank für Eure Lösungen,
ich habe hier sehr viel gelernt.

MfG Burghard


 

Beiträge aus den Excel-Beispielen zum Thema "VBA-Code"