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

Forumthread: Zeilen mit Nullwert in Bereich löschen

Zeilen mit Nullwert in Bereich löschen
Benedikt
Schönen Samstag zusammen
Nachfolgendes Problem bekomme ich nicht hin:
Ich kopiere einen Textblock bestehend aus 9 Zellen in die nächste freie Zelle in Spalte C eines Arbeitsblattes.
Innerhalb dieser 9 Zellen gibt es immer wieder mal Zellen mit einem Nullwert.
Wie kann ich per VBA die entsprechenden Zeilen löschen wenn im neu eingefügten Bereich Spalte C eine Null steht?
Vielen Dank für Hilfe
Grüsse aus der Schweiz
Anzeige
AW: Zeilen mit Nullwert in Bereich löschen
04.06.2011 14:58:17
Peter
Hallo Benedikt,
das könnte z. B. so funktionieren, wobei die Zellen nach links aufgeschoben werden
Public Sub Null_raus()
Dim lZeile   As Long
Dim iSpalte  As Integer
With ThisWorkbook.Worksheets("Tabelle1")
For lZeile = 2 To .Cells(Rows.Count, 3).End(xlUp).Row
For iSpalte = 11 To 3 Step -1
If .Cells(lZeile, iSpalte).Value = 0 Then _
.Cells(lZeile, iSpalte).Delete Shift:=xlToLeft
Next iSpalte
Next lZeile
End With
End Sub

Gruß Peter
Anzeige
AW: Zeilen mit Nullwert in Bereich löschen
04.06.2011 17:40:41
Benedikt
Grüss Dich Peter
Vielen Dank für Deine Mühe. Leider haut das nicht hin.
Ich würde gerne die Zeilen welche im neu eingefügten Bereich in Spalte C einen Nullwert enthalten
entfernen. Dies solltejeweils während dem Ausführen des nachfolgenden Code passieren.
Im Anhang ist ein Beispiel, sorry ich kanns nicht besser erklären
Function Text_einfügen()
With Workbooks("Tempoff.xlsm").Worksheets("Offerte").Cells(lngRow, Spalte)
.PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
End Function

https://www.herber.de/bbs/user/75165.xlsx
Anzeige
AW: Zeilen mit Nullwert in Bereich löschen
04.06.2011 22:48:40
Gerd
Hallo Benedikt,
teste mal. Falls es deinen Konstellationen entspricht, kannst Du den Code in deine Funktion einbauen.
Sub test()
Dim lngRow As Long
lngRow = 35
With Workbooks("Tempoff.xlsm").Worksheets("Offerte")
If WorksheetFunction.CountBlank(.Cells(lngRow, 3).Resize(9, 1)) > 0 Then
.Cells(lngRow, 3).Resize(9, 1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End If
End With
End Sub

Gruß Gerd
Anzeige
Ich kriegs nicht hin, vielen Dank Gerd
04.06.2011 23:34:52
Benedikt
Guten Abend Gerd
Irgendwie krieg ich das nicht gebacken. Liegt aber an meinem schwachen VBA Verständnis.Ich werde morgen weiterüben.
Vielen Dank.

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige