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

Zeilen löschen

Forumthread: Zeilen löschen

Zeilen löschen
01.06.2025 22:21:11
NicoHendrik
Guten Abend


Wenn in Spalte C Von C9 bisC48 ein Wert gelöscht wird soll die dazu gehörige Zeile auch teils (von K bis NN) gelöscht werden. (Zb. C14 wird gelöscht, jetzt müssen auch K14 bis NN14 gelöscht werde.

Gruß Nico
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Dieser Code...
01.06.2025 23:18:11
Case
Moin, :-)

... gehört in den Bereich des Tabellenblattes in welchem du die Funktion haben möchtest: ;-)
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngTMP As Range
On Error GoTo Fin
Application.EnableEvents = False
If Not Intersect(Target, Range("C9:C48")) Is Nothing Then
For Each rngTMP In Target
If Trim(rngTMP.Value) = "" Then
Range(Target.Offset(0, 8), Target.Offset(0, 375)).ClearContents
End If
Next rngTMP
End If
Fin:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Error: " & Err.Number & " " & Err.Description
End Sub


https://online-excel.de/excel/singsel_vbaab78.html

Servus
Case
Anzeige
AW: Zeilen löschen
02.06.2025 03:18:37
Daniel
Hi

Mit VBA, beispielsweise mit folgendem Code im Modul desTabellenblatts

Private Sub Worksheet_Change(ByVal Target As Range)

With Range("C9:C48")
If not Intersect(Target, .Cells) is Nothing then
If WorksheetFunction.CountBlank(Intersect(Target, .Cells)) > 0 then
Application.EnableEvents = False
Intersect(Range("K:NN"), Intersect(Target, .Cells).SpecialCells(xlcelltypeblanks).EntireRow).ClearContents
Application.EnableEvents = True
End if
End if
End With
End Sub


Gruß Daniel
Anzeige
AW: Zeilen löschen
02.06.2025 09:21:06
NicoHendrik
Hallo Daniel & Case,

vielen Dank, mit eure Hilfe hab ich wurde mein Problem gelöst

Gruß Nico
AW: Dieser Code...
01.06.2025 23:32:02
NicoHendrik
Vielen Dank Case, funktioniert prima.

Gruß auf den hohen Norden
Das ist nicht...
02.06.2025 00:04:21
Case
Moin, :-)

... richtig von mir. Da habe ich einen Fehler drin. ;-)

Es läuft, aber die Schleife läuft ab, obwohl er alles schon gelöscht hat (wenn du mehrere Zellen in Spalte C auf einmal löschst). ;-)

Es gibt mindestens zwei Möglichkeiten das zu schreiben: ;-)
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngTMP As Range
On Error GoTo Fin
Application.EnableEvents = False
If Not Intersect(Target, Range("C9:C48")) Is Nothing Then
For Each rngTMP In Target
If Trim(rngTMP.Value) = "" Then
Range(rngTMP.Offset(0, 8), rngTMP.Offset(0, 375)).ClearContents
End If
Next rngTMP
End If
Fin:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Error: " & Err.Number & " " & Err.Description
End Sub

Oder: ;-)
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngTMP As Range
On Error GoTo Fin
Application.EnableEvents = False
If Not Intersect(Target, Range("C9:C48")) Is Nothing Then
For Each rngTMP In Target
If Trim(rngTMP.Value) = "" Then
Range(Target.Offset(0, 8), Target.Offset(0, 375)).ClearContents: Exit For
End If
Next rngTMP
End If
Fin:
Application.EnableEvents = True
If Err.Number > 0 Then MsgBox "Error: " & Err.Number & " " & Err.Description
End Sub

Servus
Case
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige