Microsoft Excel

Herbers Excel/VBA-Archiv

2 leere Zeilen erkennen und ausblenden

Betrifft: 2 leere Zeilen erkennen und ausblenden von: Marco
Geschrieben am: 10.09.2020 16:22:17

Hallo zusammen,

Bin neu in dem Forum und suche einen Weg 2 auf einander folgende leere Zeilen zu erkennen, auszuwählen und auszublenden.

Mein Code sieht bisher wie folgt aus:
Dim i As Integer
Dim zelle1 As Integer
Dim zelle2 As Integer
Dim x As Integer, y As Integer, Z As Integer

x = 237
For i = 1 To 80
y = x + i
Z = x + i + 1

zelle1 = y
zelle2 = Z

If Range("A" & zelle1).Value And Range("A" & zelle2).Value = "" Then

Range(zelle1).Select
Selection.EntireRow.Hidden = True

Range(zelle2).Select
Selection.EntireRow.Hidden = True

End If
Next i
------------------------------------------------------------------
Leider wird bei der If-Anweisung ein Fehler ausgeworfen...

Ich hoffe ihr könnt mir helfen!

Beste Grüße,
Marco

Betrifft: AW: 2 leere Zeilen erkennen und ausblenden
von: Daniel
Geschrieben am: 10.09.2020 16:29:44

Hi

mit AND kann man immer nur zwei Wahrheitswerte miteinander verbinden.
während der Vergleich im zweiten Teil der Bedingungsprüfung: Range("A" & zelle2).Value = "" einen Wahrheitswert ergibt, holst du dir im ersten Teil mit Range("A" & zelle1).Value den Wert aus der entsprechenden Zelle und das ist in der Regel kein Wahrheitswert und dann knallts.
du müsstest auch hier den Vergleich: Range(…).Value = "" ausführen, um einen Wahrheitswert zu bekommen.
Gruß Daniel

Betrifft: AW: 2 leere Zeilen erkennen und ausblenden
von: Marco
Geschrieben am: 16.09.2020 11:36:02

@ Daniel danke für die Hilfe,

Leider versteh ich gerade nicht was ich genau ändern muss, damit es funktioniert... könntest du das nochmal genauer ausführen? :)

Betrifft: AW: 2 leere Zeilen erkennen und ausblenden
von: Yal
Geschrieben am: 10.09.2020 17:16:02

Frage: warum ausblenden und nicht löschen?

ohne Makro mache wie folgt:
_ eine Spalte vor A einfügen (warum "vor A"? weil ich dann in folgender Erklärung weiß, wo diese ist)
_ Formel =ODER(UND (B1="";B2="");UND(B2="";B3="")) in gesamte Spalte A (ab A2) eintragen

Lösung "ausblenden"
_ nach Spalte A "Wahr" wegfiltern
_ Hilfespalte ausblenden

Lösung "löschen"
_ noch eine Spalte vor A einfügen
_ Reihenfolge 1 bis letzte Zeilennummer eintragen
_ nach Spalte B sortieren
_ Spalte B nach "Wahr" filtern (nur bei großer Anzahl von Zeilen hilfreich)
_ alle Zeilen von Spalte B, die "Wahr" haben, löschen (die hangen jetzt eh zusammen)
_ nach spalte A sortieren (originale Reihenfolge wiederherstellen)
_ Spalte A und B löschen

Mit ein Bisschen Übung und passende Tastenkürzel ca. 3 Minuten, egal wieviele Zeilen.
Makro: selten unter 10 Minuten.

Betrifft: AW: 2 leere Zeilen erkennen und ausblenden
von: Marco
Geschrieben am: 16.09.2020 11:43:49

Hallo Yal,
Ich erstelle eine Art automatisches Angebotstool. Das heißt am Ende wird aus mehreren Reitern nach Löschen der nicht benötigten Optionen ein Angebot erstellt. Manchmal passiert es das ich zwei leere Zeilen zwischen den Optionen habe, wobei nur eine Layout-technisch gewünscht ist.

Das Löschen geht nicht, da ich mich in meinen Makros auf bestimmte Zeilen beziehe und sich beim Löschen die Zeilennummern verschieben und ich dann per Makro die Falsche Zelle greife. Beim ausblenden passiert das nicht.

Eine Spalte zur Hilfe einzufügen geht leider nicht... dann müsste ich das ganze Dokument (Über 100 Seiten) neu anpassen.

Eine Lösung basierend auf einem Makro-Code das durchs Dokument läuft und nachsieht, wo zwei eingeblendete Zeilen nach einander leer sind wär genial.

Betrifft: AW: 2 leere Zeilen erkennen und ausblenden
von: Marco
Geschrieben am: 16.09.2020 16:20:06

Vielen Dank für die Hilfe, habe das Problem über Umwege gelöst!

Beiträge aus dem Excel-Forum zum Thema "2 leere Zeilen erkennen und ausblenden"