Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Doppelklick Makro mit Blattschutz
#1
Hallo zusammen,

ich habe aktuell das Problem, dass wenn ich den Blattschutz aktiviere mein Makro nicht mehr richtig funktioniert.

Dieses wollte ich umgehen mit einem VBA Blattschutz, dieses klappt aber nur halb.

Wenn ich in eine Uhrzeitzelle doppelklicke wird die Uhrzeit eingefügt, wenn ich in ein Datumzelle doppelklicke kommt nur ein blauer Kreis aber das Datum wird nicht mehr eingefügt.

Ohne Schutz funktioniert alles.
Kann mir wer hierbei helfen?

Mein Makro sieht aktuell so aus:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  With Target
    Select Case .Column
      Case 1 'Spalte "A" = 1
        Cancel = True
        Target = Date
        Target.NumberFormat = "dd/MM/YYYY"
       
      Case 2 'Spalte "B" = 2
        Cancel = True
        Target = Time
        Target.NumberFormat = "hh:mm"
       
      Case 3 'Spalte "C" = 3
        Cancel = True
        Target = Date
        Target.NumberFormat = "dd/MM/YYYY"
       
      Case 4 'Spalte "C" = 4
        Cancel = True
        Target = Time
        Target.NumberFormat = "hh:mm"
       
     
    End Select
  End With
End Sub
Sub Blattschutz()
    ActiveSheet.Protect Password:="passwort", UserInterfaceOnly:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub BlattschutzAus()
    ActiveSheet.Unprotect Password:="passwort"
End Sub
Antworten Top
#2
moinmoin

probier es mal so
unter DieseArbeitsmappe dieses Makro einfügen

Code:
Private Sub Workbook_Open()
'Tabellenblattname anpassen
Sheets("Tabelle1").Protect Password:="passwort", UserInterfaceOnly:=True, _
                   DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Datei speichern, schließen und danach wieder öffnen
dann sollte es funktionieren


MfG Tom
Antworten Top
#3
Moin,

dann bekomme ich ne Fehlermeldung...

Hab die Datei mal angehangen, vielleicht siehst was ich falsch mache...


Angehängte Dateien
.xlsm   Fahrtenbuch.xlsm (Größe: 183,42 KB / Downloads: 15)
Antworten Top
#4
Hallo

kann hier auf Arbeit deine Datei nicht laden
das Workbook_Open und dein Doppelklick in einer neuen Datei
funktioniert in meinem Test einwandfrei

MfG Tom
Antworten Top
#5
Hi,

(15.12.2017, 08:20)Maverik000 schrieb: Ohne Schutz funktioniert alles.
Kann mir wer hierbei helfen?

Du hast drei Makros in Deiner Datei.
Davon wird aber nur das Doppelklick-Makro benutzt oder übersehe ich was? Du mußt am Anfang dieses Makros das 3. (BlattschutzAus) aufrufen und am Ende das 2. (Blattschutz).

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   Call BlattschutzAus
   With Target

...

      End Select
   End With
   Call Blattschutz
End Sub
Antworten Top
#6
(15.12.2017, 09:23)Crazy Tom schrieb: das Workbook_Open und dein Doppelklick in einer neuen Datei
funktioniert in meinem Test einwandfrei

MfG Tom

Hab das nochmal probiert, wieder nur Fehler. Ich hab dann mal die Dropdownmenüs aus den Spalten gelöscht. Jetzt scheint es zu funktionieren.

Code:
Private Sub Workbook_Open()
'Tabellenblattname anpassen
Sheets("Tabelle1").Protect Password:="passwort", UserInterfaceOnly:=True, _
                   DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Wenn ich den Namen des Tabellenblatts jetzt ändre auf Januar 2018 und den Code dann anpasse gibt's ne Fehlermeldung, was muss ich machen, dass das auch noch klappt?

 Bzw. wenn ich jetzt für das ganze Jahr die gleichen Blätter erstelle, ist der Schutz dann auch auf allen wirksam ?


Grüße
Antworten Top
#7
(15.12.2017, 11:00)Rabe schrieb: Hi,


Du hast drei Makros in Deiner Datei.
Davon wird aber nur das Doppelklick-Makro benutzt oder übersehe ich was? Du mußt am Anfang dieses Makros das 3. (BlattschutzAus) aufrufen und am Ende das 2. (Blattschutz).

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Call BlattschutzAus
  With Target

...

     End Select
  End With
  Call Blattschutz
End Sub

Mit der Lösung bin ich jetzt leider nicht ganz weiter gekommen.

Aber letztendlich funktioniert es jetzt zumindest auf dem ersten Blatt.
Antworten Top
#8
Hi,

Blattschutz-Makros in ein allgemeines Modul:
Modul Modul1
Option Explicit 
 
Sub Blattschutz() 
   ActiveSheet.Protect Password:="passwort", UserInterfaceOnly:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True 
End Sub 
 
Sub BlattschutzAus() 
   ActiveSheet.Unprotect Password:="passwort" 
End Sub 
 

Dieses Makro kopierst Du in das rechte Fenster jedes Deiner Blätter
Microsoft Excel Objekt Tabelle1
Option Explicit 
 
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 
   Call BlattschutzAus 
   With Target 
      Select Case .Column 
      Case 1 'Spalte "A" = 1 
         Cancel = True 
         Target = Date 
         Target.NumberFormat = "dd/MM/YYYY" 
          
      Case 2 'Spalte "B" = 2 
         Cancel = True 
         Target = Time 
         Target.NumberFormat = "hh:mm" 
          
      Case 3 'Spalte "C" = 3 
         Cancel = True 
         Target = Date 
         Target.NumberFormat = "dd/MM/YYYY" 
          
      Case 4 'Spalte "D" = 4 
         Cancel = True 
         Target = Time 
         Target.NumberFormat = "hh:mm" 
      End Select 
   End With 
   Call Blattschutz 
End Sub 

[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • Maverik000
Antworten Top
#9
Super danke so funktioniert es wie ich mir das ganze vorgestellt habe.
Antworten Top
#10
Hallo, ich würde gerne ein paar Spalten von diesem Vordruck auf meine Bedürfnisse anpassen.
Was mir gefällt, doppelkllick und dann kommt automatisch das Datum und Uhrzeit.
Dafür wurde ja das VBA Programm geschrieben. Nur den Blattschutz brauche ich nicht und diverse andere Spalten wollte ich auch löschen.
Ich tüftle hier schon rum und bekomme einfach nicht den Blattschutz raus um die Excel-Datei zu bearbeiten.
Kann mir einer helfen. Danke Markus
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste