Es ist ein geschütztes Arbeitsblatt/Arbeitsmappe und ich habe einen Code, der eine Eingabeaufforderung für den Benutzer, ob das Blatt bearbeiten oder nicht, werfen wird. Zellen sind editierbar, aber das Problem ist, dass Zellen nicht mit Rahmen markiert werden. Daher ist es für den Benutzer schwierig zu wissen, an welchen Zellen er arbeitet.VBA Zellen sind nicht markiert
Ich habe 2 Blätter hier, Corefiller und Ad-Füller, wenn Drop-Down auf corefiller Blatt ist "Nein". Der Benutzer erhält eine Aufforderung, wenn er das Blatt auswählt, er klickt auf OK, um das Blatt zu bearbeiten, oder er bricht ab, wenn er nicht bearbeiten möchte.
-Code auf Blatt "Ad-Füller"
Option Explicit
Private mMessageDisplayed As Boolean
Private Sub Worksheet_Activate()
Carry
End Sub
-Code auf einem Modul.
Public Sub Carry()
If ActiveSheet.ProtectContents And Not mMessageDisplayed Then
mMessageDisplayed = True
If ThisWorkbook.Sheets("Corefiller").Range("E29") = "NO" Then
If MsgBox("Click OK to include Filler for this request", vbOKCancel + vbInformation) = vbOK Then
ThisWorkbook.Worksheets("Corefiller").Range("E29") = "YES"
With ThisWorkbook.Sheets("Ad-filler")
.Range("E13:E14").Locked = False
End With
Else
With ThisWorkbook.Sheets("Ad-filler")
.Range("E13:E14").Locked = True
End With
End If
Else
Exit Sub
End If
End If
End Sub
Was ist falsch in meinem Code? Warum ist die Zelle nicht markiert? Wenn ich versuche, im Code Schutz/Schutz zu verwenden, werden Zellen auf dem ersten Blatt (Corefiller) nicht markiert und ich muss auf andere Blätter klicken und zurückkommen, um die Zelle markiert zu bekommen.
Sie haben keine Codezeilen, die Grenzen zu jeder Zelle (n) gelten. –
@ Gary'sStudent Ich meinte die übliche Grenze, die wir bekommen, wenn wir auf Zelle, beigefügten Screenshot oben klicken .. – sady
Sie haben auch keinen Code zu ** Wählen Sie ** beliebige Zellen * (die würde die Grenze gelten) * –