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

Forumthread: ZellenInhalt löschen wen anderen Zelleninhalt leer

ZellenInhalt löschen wen anderen Zelleninhalt leer
19.10.2012 19:31:00
Arthur
Hallo zusammen
Ich möchte ein Makro, das bewirkt, wenn in A1 nichts steht, dass G1 und H1 gelöscht wird. Dann wenn in A2 etwas steht, G2 und H2 beibelassen werden. Wenn A3 nichts steht, Inhalte von G3 und H3 gelöscht werden.
Im Internet habe ich dies gefunden, so was ändlichen aber halt nicht die Zeile löschen...
Sub Zelle löschen()
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 5) = "" Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub
Vielen Dank für eure Hilfe!
Arthur

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ZellenInhalt löschen wen anderen Zelleninhalt leer
19.10.2012 19:57:16
firmus
hi Arthur,
das sollte das tun:
immer wenn in Spalte A kein Wert enthalten ist, dann soll in Spalte G + H der Wert gelöscht werden.
Die Zellen selbst sollen nicht entfernt werden. OK?
Sub Zelle_loeschen()
Dim i As Long
Application.ScreenUpdating = False
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1) = "" Then
Cells(i, 7).Value = ""  'Gnn loeschen
Cells(i, 8).Value = ""  'Hnn loeschen
End If
Next i
Application.ScreenUpdating = True
End Sub
Gruß
firmus

Anzeige
AW: ZellenInhalt löschen wen anderen Zelleninhalt leer
19.10.2012 20:09:47
Arthur
aaah, super!!! Ich habe es gerade getestet, so habe ich es gemeint.
Danke vielmals!!
Gruss
Arthur
Anzeige
Anzeige

Infobox / Tutorial

Zelleninhalt löschen, wenn andere Zellen leer sind


Schritt-für-Schritt-Anleitung

Um ein Makro zu erstellen, das den Inhalt von Zellen in Spalte G und H löscht, wenn die entsprechende Zelle in Spalte A leer ist, folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke im Menü auf Einfügen und wähle Modul.

  3. Füge den folgenden Code in das Modul ein:

    Sub Zelle_loeschen()
       Dim i As Long
       Application.ScreenUpdating = False
       For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
           If Cells(i, 1) = "" Then
               Cells(i, 7).Value = ""  ' Inhalt von G löschen
               Cells(i, 8).Value = ""  ' Inhalt von H löschen
           End If
       Next i
       Application.ScreenUpdating = True
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus, indem du ALT + F8 drückst, das Makro auswählst und auf Ausführen klickst.

Das Makro überprüft jede Zeile in Spalte A und löscht die Inhalte von G und H, wenn die Zelle in A leer ist.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 9: Index außerhalb des gültigen Bereichs"

    • Lösung: Stelle sicher, dass du das Makro in einem Arbeitsblatt ausführst, das mindestens eine Zeile hat und das die Spalten A, G und H vorhanden sind.
  • Fehler: Nichts passiert, wenn das Makro ausgeführt wird

    • Lösung: Überprüfe, ob es tatsächlich leere Zellen in Spalte A gibt. Das Makro löscht nur Inhalte in G und H, wenn A leer ist.

Alternative Methoden

Falls du kein Makro verwenden möchtest, kannst du auch bedingte Formatierungen oder Formeln einsetzen, um visuell anzuzeigen, welche Zellen bearbeitet werden sollten. Zum Beispiel kannst du in Zelle G1 die folgende Formel verwenden:

=IF(A1="", "", G1)

Diese Formel zeigt an, ob A1 leer ist, und lässt G1 unverändert, wenn A1 einen Wert enthält.


Praktische Beispiele

Angenommen, du hast folgende Daten in Spalte A:

A G H
Wert1 Wert2
1 Wert3 Wert4
Wert5 Wert6

Nach dem Ausführen des Makros wird die Tabelle so aussehen:

A G H
1 Wert3 Wert4

Tipps für Profis

  • Makros optimieren: Um die Leistung zu verbessern, kannst du Application.Calculation = xlCalculationManual am Anfang des Makros hinzufügen und am Ende wieder auf xlCalculationAutomatic setzen.

  • Fehlerbehandlung: Füge eine Fehlerbehandlung hinzu, um sicherzustellen, dass dein Makro bei unerwarteten Eingaben nicht abstürzt.


FAQ: Häufige Fragen

1. Kann ich das Makro für mehrere Spalten anpassen?
Ja, du kannst das Makro leicht anpassen, indem du die Spaltenindizes in den Zeilen 6 und 7 änderst.

2. Funktioniert dieses Makro in Excel 365?
Ja, das Makro funktioniert in Excel 365 sowie in anderen Versionen von Excel, die VBA unterstützen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige