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.

Löscht den Content der unteren Reihe
#1
Hallo Zusammen,

sobald wenn ich in Excel eine Reihe markiere und lösche, löscht Excel mir den Content der darunter liegenden Reihe eines bestimmten Bereiches mit.

Ich verwende in dieser Arbeitsmappe ein Worksheet Change Makro. Kann mir jemand sagen was ich in dieses Makro schreiben muss, damit es nicht aktiviert wird wenn eine Reihe gelöscht wird?

Danke und Grüße
Antworten Top
#2
Moin!
Ich glaube, dass hier ein Vorschlag ohne Datei pure Raterei wäre.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Morgen RPP63,

ich hab die Ursache schon gefunden, hab meine Frage auch schon angepasst. Jedoch weiß ich nicht was ich hier schreiben muss damit das Makro beim löschen einer Zeile nicht aktiviert wird.

Ich füg mal den Code ein der für das löschen des Inhaltes verantwortlich ist.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Dim DelRng As Range
    Dim Rng As Range
    Dim rngyear As Range
    Dim rngmonth As Range

    Dim lastrow As Long

    ChDate = ActiveCell.Offset(-1, 0)
    lastrow = ActiveSheet.Cells(Rows.count, "A").End(xlUp).Row + 1
    Set KeyCells = Range("H11:H" & lastrow)
    
    year = Format(ChDate, "yyyy")
    month = Format(ChDate, "mmm")

    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
        Set DelRng = Range("N" & Target.Row & ":BI" & Target.Row)
        DelRng.ClearContents    ' Hier löscht er mir den Inhalt der Zeilen

        ' Do Something

Exit Sub
Antworten Top
#4
Hab eine Lösung gefunden.

Musste einfach diesen Code einfügen.

Code:
If Target.Cells.Count = Columns.Count Then Exit Sub

Trotzdem danke für deine Zeit.
Antworten Top
#5
*gelöscht* wg. falschem Fehler …
Dennoch:
Target.Cells ist zunächst mal genauso wie Range(Target.Address) doppelt gemoppelt, da Target bereits ein Range-Objekt darstellt.
Statt Range(Target.Address) reicht Target
Target.Count kann in einen Überlauf rennen, da Cells>Long ist!
Gewöhne Dir bitte grundsätzlich an, hier .CountLarge zu nehmen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


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