Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle löschen wenn Formel kein übertrag macht

Zelle löschen wenn Formel kein übertrag macht
08.10.2008 11:16:00
Roger
Hallo
Ich hab da folgendes Problem das ich gern egelöst hätte.
Auf einem Blatt (übersicht) habe ich in den Zeilen 7 - 210 Formeln eingetragen, die auf andere Blätter (Monate) verweisen. Wenn nun auf dem anderen Blatt z.b. Monat Januar und Monat Dezember etwas eingetragen wird so wird es also auch auf das Blatt (übersicht) übernommen. Nun ist es aber so das nicht in allen Zeilen jeweils etwas übernommen wird. Diese Zeilen möchte ich nun gerne löschen mit einem Makro. Hab ihr eingie Makros gefunden, die löschen mir aber entweder alles oder dann gar nichts weil ja Formeln drinn stehen.
Weiss allenfalls jemand eine Lösung?
Besten Dank
Gruss
Roger

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle löschen wenn Formel kein übertrag macht
08.10.2008 11:19:44
David
Hallo Roger,
warum nicht einfach über die Formel selbst:
=WENN('Deine Formel'="";"";'Deine Formel')
Gruß
David
AW: Zeile löschen wenn Formel kein übertrag macht
08.10.2008 11:26:07
Roger
Hallo
Leider funktioniert deine Formel nicht es löscht mir die Zeile nicht. Hab aus versehen im Betreff Zelle anstatt Zeile geschrieben. Sorry
AW: Zeile löschen wenn Formel kein übertrag macht
08.10.2008 21:59:00
Tino
Hallo,
was wird als Ergebnis in den Zellen wo noch was zu sehen ist übernommen,
sind dies Zahlen, Text oder beides?
Werden in diesen Zellen Zahlen übernommen,
kannst Du mit diesem Code alle Formelzellen (Zeilen) löschen,
wo als Ergebnis "" (entspricht Text) drin steht.
Sub Test1()

Dim Zellbereich As Range
Set Zellberich = Range("A1:A500")
Zellberich.SpecialCells(xlCellTypeFormulas, 2).EntireRow.Delete

End Sub


Sonst müsste eine Schleife dies erledigen.

Sub test2()
Dim A As Long
Dim Zellbereich As Range
Set Zellbereich = Range("A1:A500").SpecialCells(xlCellTypeFormulas, 23)
 With Application
  .ScreenUpdating = False
    For A = Zellbereich.Count To 1 Step -1
        If Zellbereich(A).Value = "" Then
         Zellbereich(A).EntireRow.Delete
        End If
    Next A
  .ScreenUpdating = True
 End With
End Sub


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: Zeile löschen wenn Formel kein übertrag macht
09.10.2008 07:39:00
Roger
Hallo Tino
Danke für den Tip nur leider funktioniert er nicht so richtig. Da beides vorkommt habe ich das wzeite probiert und noch angepasst auf A9-A210. Da nur dieser Bereich durchsucht werden muss. Egal ob ich das Original oder mein abgeändertes nehme es kommt immer ein debuug Fehler bei der Linie If Zellbereich(A).Value = "" Then
In Spalte A ist ein Datum in Spalte C Text und in Spalte O Zahlen.
Ich lad das Sheet mal hoch im Blatt Kontoübersicht müssten die Zeilen gelöscht werden. Vielleicht hilft dir das weiter.
Danke
Gruss Roger
https://www.herber.de/bbs/user/55900.xls
Anzeige
AW: Zeile löschen wenn Formel kein übertrag macht
09.10.2008 09:49:00
Tino
Hallo,
so geht es, haben den Code an Deine Umgebung angepasst.
Sub test2()
Dim A As Long

With Application
  .ScreenUpdating = False
    For A = 210 To 9 Step -1
        If (Cells(A, "A").Value = 0 Or Cells(A, "A").Value = "") _
                    And Cells(A, "A").Formula <> "" Then
         Cells(A, "A").EntireRow.Delete
    End If
    Next A
  .ScreenUpdating = True
 End With
End Sub


Problem war, Deine Zellen wo nichts zu sehen ist haben als ergebnis 0 und Nullwerte sind ausgeblendet.
Gruß Tino

Anzeige
Super vielen Dank
09.10.2008 09:57:53
Roger
Hallo Tino
Besten Dank so klappts wunderbar.
Gruss
Roger
AW: Super vielen Dank
09.10.2008 10:15:43
Tino
Hallo,
sollte mal dein Zellbereich wesentlich größer werden, geht’s mit diesem Code viel schneller.
Sub Makro1()
Dim Bereich As Range
Dim lngCol As Long
With Application
 .ScreenUpdating = False
    Set Bereich = Range("A9:A210").SpecialCells(xlCellTypeFormulas, 23)
    lngCol = Columns.Count - Bereich.Column - 1
    Set Bereich = Bereich.Offset(0, lngCol)
    Bereich.FormulaR1C1 = "=IF(OR(RC1=0,RC1=""""),TRUE,"""")"
    On Error Resume Next 'sollte es keine entsprechende Zellen geben 
     Bereich.SpecialCells(xlCellTypeFormulas, 4).EntireRow.Delete
    On Error GoTo 0
 .ScreenUpdating = True
End With
End Sub


Gruß Tino

Anzeige

318 Forumthreads zu ähnlichen Themen


Hallo Hans,
wenn ich die URLs richtig interpretiere, haben wir im Forum soeben die Zahl von 1 Million Beiträgen überschritten.
Herzlichen Glückwunsch zu dem Erfolg Deines "Babys"!
Gruß
Martin

Hallo Leute,
heute habe ich wieder mal ein einfaches Problem für Euch, an dem ich aber nicht weiter kommen:
Ich möchte die Arbeitsblätter in meiner Arbeitsmappe zählen. Das ist ja kein Problem (ThisWorkbook.sheets.count).
wenn das makro mehr als ein Arbeitsblatt zählt (also das Erge...

Hallo zusammen!
Ich habe da als blutiger Anfänger in VBA zwei Fragen:
1.) Wie kann ich in meiner Tabelle in jeder zweiten Spalte 4 leere Spalten einfügen lassen?
2.) Dann möchte ich unter den Inhalt der ersten fünf Spalten (A-E) den Inhalt der zweiten 5 Spalten (F-J) usw. In der grö...

Guten Morgen!
Ich hätte folgendes Problem: Ich erhalte automatisiert Exceltabellen, bei denen nicht alle Zellen einer Zeile gefüllt werden, wenn dort der Inhalt einer darüberliegenden Zeile stehen sollte. Zur Weiterverarbeitung muss ich aber diese Zellen mit den dazugehörigen Werten füllen....

Hallo,
google spuckt Zu "Excel" und "Häufigkeitslücken" lediglich 3 Treffer aus, die nicht gerade brauchbar für meine Aufgabe sind.
Ich muss für 3 Variablen eine Typisierung mit einer Häufigkeitslücke durchführen.
Hiermit bin ich fast gänzlich überfragt. Mit Quantilen hatte ich das...

Hallo zusammen,
ich habe eine lange Liste, in der in einer Spalte Daten stehen, wo ab und zu vorangehende Nullen nötig sind (mal eine - mal 2...etc.) - und manchmal auch keine.
Wie kann ich diese Zellen formatieren, das die vorangehenden "Nullen" nicht automatisch weggelassen werden?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige