Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Target.Locked

Forumthread: Target.Locked

Target.Locked
12.11.2005 09:11:31
Thomas
Hallo Zusammen
Ein Anwender sollte eine Zelle variabel überschreiben können. In der Zelle ist eine Formel. Will er aber einen anderen Wert (Summe) eingeben, wird dieser Wert überschrieben. Es muss jedoch vorher eine Warnung erfolgen. Dacht mir etwa so:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich
Dim lZeile As Integer
lZeile = Range("A65536").End(xlUp).Row
Set Bereich = Range("M5:M" & lZeile)
If Intersect(Target, Bereich) Is Nothing Then
Else
msg = MsgBox("Sie versuchen eine Formel zu überschreiben. Wollen Sie das ?", 4, "WARNUNG")
If msg = 7 Then
ActiveSheet.Unprotect "123"
Target.Offset(0, 0).Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-5]<>"""",ROUNDDOWN(RC[-2]/100*RC[-2]/100*RC[-5],-1),"""")"
ActiveSheet.Protect "123"
Exit Sub
End If
End If
End Sub

Gibt aber eine Endlosschlaufe, weil ja immer wieder die Formel eingeschrieben wird. Kann mir jemand helfen?
Danke und liebe Grüsse
Thomas
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Target.Locked
12.11.2005 17:34:32
Josef
Hallo Thomas!
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich
Dim lZeile As Integer

lZeile = Range("A65536").End(xlUp).Row

On Error GoTo ErrExit
Application.EnableEvents = False

Set Bereich = Range("M5:M" & lZeile)

If Not Intersect(Target, Bereich) Is Nothing Then
  
  If MsgBox("Sie versuchen eine Formel zu überschreiben. Wollen Sie das ?", _
    260, "WARNUNG") = 7 Then Application.Undo
  
End If

ErrExit:
Application.EnableEvents = True
End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Target.Locked
13.11.2005 11:52:08
Thomas
Hallo Sepp
danke, funktioniert sehr gut !
Gruss
Thomas
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige