Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
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

Buttons unsichtbar bei schließen

Buttons unsichtbar bei schließen
15.12.2021 15:28:47
Smile
Guten Tag,
ich benötige eure Hilfe unzwar möchte ich , die Buttons in meinen Tabellen alle verschwinden lassen und die Tabellenblätter Passwortschützen wenn die Datei geschlossen wird. Dabei soll es egal sein ob gespeichert oder nicht.
Hier mein Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim xSheet As Worksheet
Dim xPsw As String
xPsw = "test"
For Each xSheet In Worksheets
xSheet.Protect xPsw
xSheet("CommandButton1").Visible = False
xSheet("CommandButton2").Visible = False
xSheet("CommandButton3").Visible = False
Next
Die Buttons heißen überall gleich, aber es klappt nicht .
Er zeigt immer folgende Fehlermeldung:
Laufzeitfehler "438". Objekt unterstützt diese Eigenschaft oder Methode nicht

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Buttons unsichtbar bei schließen
15.12.2021 15:38:46
UweD
Hallo
ungetestet...
du musst erst entsperren, dann ändern und dann wieder sperren

For Each xSheet In Worksheets
xSheet.unProtect xPsw
xSheet("CommandButton1").Visible = False
xSheet("CommandButton2").Visible = False
xSheet("CommandButton3").Visible = False
xSheet.Protect xPsw
Next
LG UweD
AW: Buttons unsichtbar bei schließen
15.12.2021 15:57:58
UweD
Hallo
jetzt auch getestet

Dim i As Integer
Dim xPsw As String
xPsw = "test"
For i = 1 To ThisWorkbook.Sheets.Count
With Sheets(i)
.Unprotect xPsw
.CommandButton1.Visible = False
.CommandButton2.Visible = False
.CommandButton3.Visible = False
.Protect xPsw
End With
Next
LG UweD
Anzeige
AW: Buttons unsichtbar bei schließen
15.12.2021 15:58:01
volti
Hallo,
versuch es mal so. Zum Ausblenden muss m.E. nicht entsprerrt werden.
Code:

[Cc]

Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim xSheet As Worksheet Dim xPsw As String xPsw = "test" For Each xSheet In Worksheets xSheet.Protect xPsw xSheet.Shapes.Range(Array("CommandButton1", "CommandButton2", "CommandButton3")).Visible = False Next xSheet End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Buttons unsichtbar bei schließen
15.12.2021 16:14:20
Smile
Also bei den ersten beiden Varianten zeigt er mir denselben Fehler wie zuvor an.
Bei der Version von Karl-Heinz zeigt er mir Fehler 1004 (Das Element mit dem angegebenen Namen wurde nicht gefunden.) an in der Zeile:
xSheet.Shapes.Range(Array("CommandButton1", "CommandButton2", "CommandButton3")).Visible = False
Habe aber noch mehr in BeforeClose stehen, hier der ganze Auszug:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim xSheet As Worksheet
Dim xPsw As String
xPsw = "KdoSAN"
For Each xSheet In Worksheets
xSheet.Unprotect xPsw
xSheet("CommandButton1").Visible = False
xSheet("CommandButton2").Visible = False
xSheet("CommandButton3").Visible = False
xSheet.Protect xPsw
Next
If Not Saved Then
Select Case MsgBox("Sollen Ihre Änderungen in '" & Name & _
"' gespeichert werden", vbExclamation Or vbYesNoCancel)
Case vbYes
Save
Case vbNo
Saved = True
Case vbCancel
Cancel = True
End Select
End If
If Not Cancel Then
Call DeleteCommandBar
Call TimeStop
End If
If Not ActiveSheet.Name = AktName Then
MsgBox "Umbenennen des Blattes ist nicht erlaubt!!!"
ActiveSheet.Name = AktName
If ActiveWorkbook.Saved = False Then
ActiveWorkbook.Save
End If
End If
End Sub
Vielleicht mache ich auch irgendwas ganz falsch, aber wirklich schon mal danke ihr seid mega schnell mit eurer Hilfe !
MfG
Anzeige
AW: Buttons unsichtbar bei schließen
15.12.2021 16:25:52
volti
Hallo,
das war für Formularsteuerbuttons.
Hier für die Active-X-Buttons. Vielleicht klappt das ja.
Code:

[Cc]

Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim xSheet As Worksheet Dim xPsw As String xPsw = "test" For Each xSheet In Worksheets xSheet.Protect xPsw xSheet.Shapes("CommandButton1").Visible = False xSheet.Shapes("CommandButton2").Visible = False xSheet.Shapes("CommandButton3").Visible = False Next xSheet End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Buttons unsichtbar bei schließen
17.12.2021 08:59:00
Smile
Klappt auch nicht , weiß nicht was falsch sein sollte ..
MfG
Dann lad doch mal eine Beispieldatei hoch
17.12.2021 09:14:04
UweD
AW: Dann lad doch mal eine Beispieldatei hoch
17.12.2021 11:54:35
UweD
Hallo
setzte mal überall ein Me. vor die CommandButtons

Me.CommandButton2.Visible = True
Me.CommandButton3.Visible = True
Me.CommandButton4.Visible = True
Dadurch werden ganz bewusst die Buttons dieses Blattes gewählt.
LG UweD
AW: Dann lad doch mal eine Beispieldatei hoch
17.12.2021 12:11:56
Smile
Vor alle oder nur vor die im BeforeClose wenn ich das einfüge ?
MfG
Anzeige
AW: Dann lad doch mal eine Beispieldatei hoch
17.12.2021 14:12:10
UweD
Worum geht es dir jetzt genau?
Mein letzter Stand ist, dass du beim Schließen die 3 Buttons ausblenden möchtest, auf allen Blättern
Weder mein Vorschlag, noch der von Volti ist aber in deiner Datei eingebaut
Ich hab es so hinbekommen:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim xSheet As Worksheet
Dim xPsw As String
xPsw = "test"
For Each xSheet In ThisWorkbook.Worksheets
With xSheet
.Protect xPsw
Select Case xSheet.Name
Case "Grundeinstellungen"
'mach nix
Case Else
Sheets(.Name).CommandButton1.Visible = False
Sheets(.Name).CommandButton2.Visible = False
Sheets(.Name).CommandButton3.Visible = False
End Select
End With
Next
If Not Saved Then
Select Case MsgBox("Sollen Ihre Änderungen in '" & Name & _
"' gespeichert werden", vbExclamation Or vbYesNoCancel)
Case vbYes
Save
Case vbNo
Saved = True
Case vbCancel
Cancel = True
End Select
End If
If Not Cancel Then
Call DeleteCommandBar
Call TimeStop
End If
If Not ActiveSheet.Name = AktName Then
MsgBox "Umbenennen des Blattes ist nicht erlaubt!!!"
ActiveSheet.Name = AktName
If ActiveWorkbook.Saved = False Then
ActiveWorkbook.Save
End If
End If
End Sub
LG UweD
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige