Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1356to1360
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
Inhaltsverzeichnis

Blattschutz Fehler 91

Blattschutz Fehler 91
09.04.2014 20:22:05
Marc
Hallo zsm,
ich möchte gern den Blattschutz aktivieren, sobald ich das aber tue bringt er mir die Fehlermeldung 91. Objektvariable oder with block nicht festgelegt.
Hab schon alle Häkchen im Blattschutz versucht... ohne Erfolg :/
Wo liegt den das Problem? Um Hilfe bin ich sehr Dankbar!!
Gruß Marc
Private Sub CommandButton1_Click()
Dim rngBer As Range, rngC As Range
If ComboBox1.Value = "" Then MsgBox "Bitte wählen Sie ein BLM aus."
If ComboBox2.Value = "" Then MsgBox "Bitte wählen Sie eine Schicht aus."
With Sheets("Schichteinteilung")
Application.Calculation = xlCalculationManual
For i = 12 To 70
If ComboBox2.Value = "nur Frühschicht" Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 1 'die Passage wird in jeder Bedingung markiert
Else
End If
If ComboBox2.Value = "nur Spätschicht" Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 2
Else
End If
If ComboBox2.Value = "Gerade KW Spät" Then
Set rngBer = .Cells(i, 5)
For Each rngC In rngBer
If rngC.Value = 1 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 2
ElseIf rngC.Value = 2 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 1
End If
Next
End If
If ComboBox2.Value = "Ungerade KW Spät" Then
Set rngBer = .Cells(i, 5)
For Each rngC In rngBer
If rngC.Value = 1 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 1
ElseIf rngC.Value = 2 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 2
End If
Next
End If
Next
End With
Application.Calculation = xlCalculationAutomatic
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz Fehler 91
10.04.2014 06:30:02
Hajo_Zi
Du hast den falschen Code gepostet. Der enthält keinen Blattschutz.

AW: Blattschutz Fehler 91
10.04.2014 14:32:43
Marc
Hallo Hajo,
das ist schon der Code dazu, ich aktiviere den Blattschutz über das Register Überprüfen - Blatt schützen.
Gruß

AW: Blattschutz Fehler 91
10.04.2014 15:14:39
Tino
Hallo,
hebe den Schutz auf und am ende setzt du ihn wieder.
Code nicht getestet, Code muss fehlerfrei durchlaufen sonst
kann der Schutz nicht wieder eingestellt werden!
Private Sub CommandButton1_Click()
Dim rngBer As Range, rngC As Range
If ComboBox1.Value = "" Then MsgBox "Bitte wählen Sie ein BLM aus."
If ComboBox2.Value = "" Then MsgBox "Bitte wählen Sie eine Schicht aus."
With Sheets("Schichteinteilung")
.Unprotect "Dein Kennwort" 'Schutz aufheben ************
Application.Calculation = xlCalculationManual
For i = 12 To 70
If ComboBox2.Value = "nur Frühschicht" Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 1 'die Passage wird in jeder Bedingung markiert
Else
End If
If ComboBox2.Value = "nur Spätschicht" Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 2
Else
End If
If ComboBox2.Value = "Gerade KW Spät" Then
Set rngBer = .Cells(i, 5)
For Each rngC In rngBer
If rngC.Value = 1 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 2
ElseIf rngC.Value = 2 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 1
End If
Next
End If
If ComboBox2.Value = "Ungerade KW Spät" Then
Set rngBer = .Cells(i, 5)
For Each rngC In rngBer
If rngC.Value = 1 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 1
ElseIf rngC.Value = 2 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 2
End If
Next
End If
Next
.Protect "Dein Kennwort" 'Schutz setzen *****************
End With
Application.Calculation = xlCalculationAutomatic
End Sub
Gruß Tino

Anzeige
AW: Blattschutz Fehler 91
10.04.2014 21:24:10
Marc
Danke Tino, läuft!!
macht das grundsätzlich Sinn den Blattschutz auszuschalten während der code läuft?
Gruß Marc

AW: Blattschutz Fehler 91
11.04.2014 11:34:32
Tino
Hallo,
naja meiner Meinung nach dient der Blattschutz nur gegen versehentliche Änderung,
gegen absichtliche ist dieser zu einfach aufzuheben.
Alternativ kann man am Anfang mit protect arbeiten und den
Parameter UserInterFaceOnly auf True setzten,
dann ist eine Änderung der Zellen mit VBA möglich aber nicht von Hand.
Man muss nur wissen, dass dies nicht z. Bsp. bei Änderungen von Objekten verwendet werden kann.
Private Sub CommandButton1_Click()
Dim rngBer As Range, rngC As Range
If ComboBox1.Value = "" Then MsgBox "Bitte wählen Sie ein BLM aus."
If ComboBox2.Value = "" Then MsgBox "Bitte wählen Sie eine Schicht aus."
With Sheets("Schichteinteilung")
'Schutz aufheben für VBA ************
.Protect "Dein Kennwort", UserInterFaceOnly:=True
Application.Calculation = xlCalculationManual
For i = 12 To 70
If ComboBox2.Value = "nur Frühschicht" Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 1 'die Passage wird in jeder Bedingung markiert
Else
End If
If ComboBox2.Value = "nur Spätschicht" Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 2
Else
End If
If ComboBox2.Value = "Gerade KW Spät" Then
Set rngBer = .Cells(i, 5)
For Each rngC In rngBer
If rngC.Value = 1 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 2
ElseIf rngC.Value = 2 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 1
End If
Next
End If
If ComboBox2.Value = "Ungerade KW Spät" Then
Set rngBer = .Cells(i, 5)
For Each rngC In rngBer
If rngC.Value = 1 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 1
ElseIf rngC.Value = 2 Then
.Cells(i, Rows(1).Find(ComboBox1).Column) = 2
End If
Next
End If
Next
End With
Application.Calculation = xlCalculationAutomatic
End Sub
Gruß Tino
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige