Microsoft Excel

Herbers Excel/VBA-Archiv

Zelleninhalt durch Doppelklick löschen

Betrifft: Zelleninhalt durch Doppelklick löschen von: mike49
Geschrieben am: 31.08.2014 14:23:44

Hallo zusammen,
ich habe ein Makro, dass die in einer Zelle im Bereich B7:AF42 getätigte Eingabe durch Doppelklick wieder löscht.
Jetzt möchte ich dies um den Bereich AR7:AS42 erweitern, weiß aber nicht wie.
In diesem Bereich soll durch Doppelklick nicht "U" eingetragen bzw. wieder gelöscht werden. Es werden hier nur Zahlenwerte eingetragen, die durch Doppelklick wieder gelöscht werden sollen. Das bestehende Makro soll in seiner Funktionalität erhalten bleiben. Hier werden auch die die eingetragenen Zahlenwerte durch Doppelklick wieder gelöscht.
Kann jemand helfen?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Const adRelBer$ = "B7:AF42", txRelSym$ = "U"
    Cancel = Not Intersect(Target, Me.Range(adRelBer)) Is Nothing
    If Cancel Then
        Me.Unprotect
        Target = IIf(IsEmpty(Target), txRelSym, Empty)
        Target.Font.Color = IIf(Target = txRelSym, 255, 0)
        Me.Protect
    End If
End Sub
Gruß
mike49

  

Betrifft: AW: Zelleninhalt durch Doppelklick löschen von: Hajo_Zi
Geschrieben am: 31.08.2014 14:25:47

Hallo Mike,

ich hätte es so versucht. Ungetestet.
Const adRelBer$ = "B7:AF42, AR7:As42", txRelSym$ = "U"

GrußformelHomepage


  

Betrifft: AW: Zelleninhalt durch Doppelklick löschen von: mike49
Geschrieben am: 31.08.2014 15:07:11

Hallo Hajo,
danke für die schnelle Hilfe.
Es funktioniert im Bereich AR7:AR42. Im Bereich AS7:AS42 kommt die Fehlermeldung: Laufzeitfehler 1004. Anwendungs- und Objekt definierter Fehler, und die Zeile Target.Font.Color = IIf(Target = txRelSym, 255, 0) ist gelb unterlegt. Der Inhalt wird aber gelöscht.
Gruß
mike49


  

Betrifft: AW: Zelleninhalt durch Doppelklick löschen von: Hajo_Zi
Geschrieben am: 31.08.2014 15:20:40

Hallo Mike,

ich benutze immer einen anderen Code

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    '***********************************************
    '* H. Ziplies                                  *
    '* 07.11.12                                    *
    '* erstellt von HajoZiplies@web.de             *
'* http://Hajo-Excel.de/
 *
    '***********************************************
    ' Füllfarbe
    ' für Schrift RaZelle.Font.ColorIndex
    Dim RaBereich As Range                          ' Variable für Bereich
    Dim RaZelle As Range                            ' Variable für Zelle
    Set RaBereich = Range("L22:M39, O21:O26")       ' Bereich der Wirksamkeit
    ' noch mehr Bereiche
    'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17"), _
    '    Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49"), _
    '    Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81"), _
    '    Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111"), _
    '    Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139"), _
    '    Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163"), _
    '    Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191"))
    ' ab Vesion XP braucht der Schutz nicht aufgehoben werden
    ' Formatierung bei Schutz kann über Dialog Schutz eingestellt werden
    ' Zelle die in dem Bereich liegen auf die Variable schreiben
    ' damit werden nur noch die Zellen bearbeitet die im vorgegeben Bereich liegen
    ' jede Zelladresse ist einzeln angegeben
    Set RaBereich = Intersect(RaBereich, Range(Target.Address))
    If Not RaBereich Is Nothing Then
        'ActiveSheet.Unprotect ("Passwort")
        For Each RaZelle In RaBereich
            ' Deine Aktion in der Zelle
        Next RaZelle
        'ActiveSheet.protect ("Passwort")
    End If
    Set RaBereich = Nothing                         ' Variable leeren
End Sub
Gruß Hajo


  

Betrifft: AW: Zelleninhalt durch Doppelklick löschen von: mike49
Geschrieben am: 31.08.2014 19:12:06

Hallo Hajo,

musste dringend weg und bin erst jetzt wieder zurück.
Leider bin ich in VBA nicht so fit, dass ich deinen Vorschlag auf meine Tabelle angleichen kann.
Trotzdem danke für deine Hilfe.

Gruß
mike49


 

Beiträge aus den Excel-Beispielen zum Thema "Zelleninhalt durch Doppelklick löschen"