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
Moin!
Ich glaube, dass hier ein Vorschlag ohne Datei pure Raterei wäre.
Gruß Ralf
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
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.
*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