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.

Meldung unterdrücken.
#1
Hallo VBA- Freunde,

in einer passwortgeschützten Tabelle füge ich mit dem folgenden Code in eine Zelle einen Buchstaben und das Datum + Zeit daneben ein.
Das geht auch alles.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 
   ActiveSheet.Unprotect
   Application.DisplayAlerts = False
   Application.EnableEvents = False
   
   If Not Intersect(Target, Range("K5:K17,N5:N17, O29:O44")) Is Nothing Then
       Target.Value = Cells(Target.Row, Target.Column - 1).Value
           If Target.Row < 18 Then
               Cells(Target.Row, Target.Column + 1).Value = Date + Time
           End If
               
           If Target.Row > 28 Then
               QNT = Cells(Target.Row, 3).Value
               Range("D25").Value = QNT
               
               DatenHolen
               
               Range("D25").Select
           End If
   End If
   Application.DisplayAlerts = True
   Application.EnableEvents = True
   ActiveSheet.Protect
   
End Sub

Mich stört nur am Ende die Meldung:

Die Zellen oder das Diagramm befinden sich .....

Ich dachte, mit Application.DisplayAlerts = False wäre die Meldung weg.
Ist aber nicht so.
Wo liegt mein Gedankenfehler, oder wie muss ich den Code abändern um die Meldung zu unterdrücken.

Vielen Dank für eure Überlegungen

Heinz
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Antworten Top
#2
Hallo
Code:
   Cancel = True
weil ...

Gruß Carsten
Antworten Top
#3
Hallo Carsten,

danke für die Antwort,

nur ich verstehe sie nicht ganz.

Was macht Cancel = True, als ich das eingebaut hatte war die Meldung weg.

Gruß Heinz
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Antworten Top
#4
Hallo Heinz,

ich dachte Du kommst selbst darauf ...  ;)

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Du entsperrst, führst etwas aus und sperrst wieder.
Danach wird der Doppelklick ausgeführt.

Und dann musst Du halt die 'Cancelei' an die richtige Stelle setzen:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  ActiveSheet.Unprotect
  Application.EnableEvents = False
 
  If Not Intersect(Target, Range("K5:K17,N5:N17, O29:O44")) Is Nothing Then
      Target.Value = Cells(Target.Row, Target.Column - 1).Value
          If Target.Row < 18 Then
              Cells(Target.Row, Target.Column + 1).Value = Date + Time
              Cancel = True
          End If
             
          If Target.Row > 28 Then
              QNT = Cells(Target.Row, 3).Value
              Range("D25").Value = QNT
              DatenHolen
              Range("D25").Select
              Cancel = True
          End If
  End If
  ActiveSheet.Protect
  Application.EnableEvents = True
End Sub

Oder auch am Anfang oder Ende, dann wird der Doppelklick gar nicht ausgeführt (Dein Code schon).
Reicht das als Erklärung?


Gruß Carsten
Antworten Top
#5
Hallo Carsten,

danke für die Erklärung.

Manche Sachen wendet man an, ohne die Hintergründe zu wissen.

Jetzt weis ich mehr.


Gruß Heinz
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Antworten Top
#6
Hallo Heinz,

(20.04.2017, 19:32)Heinz Ulm schrieb: Manche Sachen wendet man an, ohne die Hintergründe zu wissen.

Tröste Dich, ich steh ganz nah neben Dir. :D


Gruß Carsten
Antworten Top


Gehe zu:


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