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

Durchgestrichene Zellen entfernen

Forumthread: Durchgestrichene Zellen entfernen

Durchgestrichene Zellen entfernen
21.09.2021 13:10:44
Sobral
Hallo, ich habe eine Datei, in der für in einer Zuarbeit der Text in bestimmten Zellen durchgestrichen wurde.
Ich würde gerne diese Zellen löschen.
Meine Google-Recherche hat ergeben, dass sich dafür wohl VBA anbietet, da es sich um eine größere Tabelle handelt. Leider besitze ich keine VBA-Codierungs-Kenntnisse. Könnte mir jemand helfen, gerne auch mit VBA, wo ich dann quasi nur noch das Script ausführen würde? Das wäre wirklich super.
Noch mal als Minibsp:
https://www.herber.de/bbs/user/148183.xlsx
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Durchgestrichene Zellen entfernen
21.09.2021 13:17:11
Klaus
Bitteschön:

Sub Makro1()
Dim MyRng As Range
For Each MyRng In Range("A2:D5")
If MyRng.Font.Strikethrough = True Then MyRng.ClearContents
Next MyRng
End Sub
Range("A2:D5") natürlich an deine Tabelle anpassen.
LG,
Klaus M.vdT.
ohne Anpassung
21.09.2021 13:24:56
Klaus
Hi,
hier nochmal OHNE die Notwendigkeit irgendwas anzupassen, und beschleunigt - die erste Version läuft ewig langsam, wenn die Berechnungen der Tabelle komplex sind.

Sub AlleDurchgestrichenenWeg()
Dim MyRng As Range
GetMoreSpeed (True)
For Each MyRng In ActiveSheet.UsedRange
If MyRng.Font.Strikethrough = True Then MyRng.ClearContents
Next MyRng
GetMoreSpeed (False)
End Sub
Public Static Sub GetMoreSpeed(Optional ByVal Modus As Boolean = True)
Dim intCalculation As Integer
If Modus = True Then intCalculation = Application.Calculation
With Application
.ScreenUpdating = Not Modus
.EnableEvents = Not Modus
.Calculation = IIf(Modus = True, xlManual, intCalculation)
.Cursor = IIf(Modus = True, 2, -4143)
End With
End Sub
LG,
Klaus M.
Anzeige
nimm Werners Code ...
21.09.2021 13:27:31
Klaus
... der ist noch schneller als meiner, gerade bei sehr großen Tabellen.
LG,
Klaus M.
AW: nimm Werners Code ...
21.09.2021 13:36:21
Sobral
Hab ich gemacht, danke dennoch für eine Hilfe!
AW: nimm Werners Code ...
21.09.2021 13:36:42
Sobral
Hab ich gemacht, danke dennoch für deine Hilfe!
Anzeige
AW: Durchgestrichene Zellen entfernen
21.09.2021 13:24:07
Werner
Hallo,
du schreibst:

größere Tabelle handelt
Je nach dem, was du unter "größere" verstehst, macht es vielleicht Sinn die Zellen nicht einzeln zu leeren, sondern in einer Range-Variablen zu sammeln und dann in einem Rutsch alle auf einmal zu leeren.

Sub Schaltfläche1_Klicken()
Dim loLetzte As Long, raZelle As Range, raWeg As Range
'Blattname anpassen
With Worksheets("Ist")
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Row
For Each raZelle In .Range(.Cells(2, "B"), .Cells(loLetzte, "D"))
If raZelle.Font.Strikethrough Then
If raWeg Is Nothing Then
Set raWeg = raZelle
Else
Set raWeg = Union(raWeg, raZelle)
End If
End If
Next raZelle
If Not raWeg Is Nothing Then raWeg.ClearContents
End With
Set raWeg = Nothing
End Sub
Gruß Werner
Anzeige
AW: Durchgestrichene Zellen entfernen
21.09.2021 13:35:05
Sobral
Danke, Werner! Hat super funktioniert!
Gerne u. Danke für die Rückmeldung. o.w.T.
21.09.2021 14:05:05
Werner
;
Anzeige
Anzeige

Infobox / Tutorial

Durchgestrichene Zellen in Excel entfernen


Schritt-für-Schritt-Anleitung

Um durchgestrichene Zellen in Excel zu entfernen, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und lade die Datei, in der die durchgestrichenen Zellen enthalten sind.
  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  3. Füge ein neues Modul hinzu:
    • Klicke im Menü auf Einfügen > Modul.
  4. Kopiere und füge folgenden Code ein:
Sub AlleDurchgestrichenenWeg()
    Dim MyRng As Range
    GetMoreSpeed (True)
    For Each MyRng In ActiveSheet.UsedRange
        If MyRng.Font.Strikethrough = True Then MyRng.ClearContents
    Next MyRng
    GetMoreSpeed (False)
End Sub

Public Static Sub GetMoreSpeed(Optional ByVal Modus As Boolean = True)
    Dim intCalculation As Integer
    If Modus = True Then intCalculation = Application.Calculation
    With Application
        .ScreenUpdating = Not Modus
        .EnableEvents = Not Modus
        .Calculation = IIf(Modus = True, xlManual, intCalculation)
        .Cursor = IIf(Modus = True, 2, -4143)
    End With
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus:
    • Drücke ALT + F8, wähle AlleDurchgestrichenenWeg aus und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: Makro lässt sich nicht ausführen

    • Lösung: Stelle sicher, dass Du Makros in Excel aktiviert hast. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter und aktiviere Makros.
  • Fehler: Es werden nicht alle durchgestrichenen Zellen entfernt

    • Lösung: Überprüfe, ob der Bereich in ActiveSheet.UsedRange die Zellen umfasst, die Du bearbeiten möchtest. Passe ggf. den Code an.

Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch die Filterfunktion nutzen:

  1. Markiere die gesamte Tabelle.
  2. Gehe zu Daten > Filter.
  3. Klicke auf den Dropdown-Pfeil in der Spaltenüberschrift.
  4. Wähle Textfilter > Benutzerdefinierter Filter.
  5. Setze ist gleich und wähle die Option für durchgestrichene Zellen aus.
  6. Lösche die gefilterten Zellen.

Praktische Beispiele

  1. Durchgestrichene Zahlen nicht summieren: Wenn Du durchgestrichene Zahlen in einer Summe ignorieren möchtest, kannst Du die SUMMEWENN-Funktion verwenden:

    =SUMMEWENN(A1:A10; "<>");  // Summiert alle nicht durchgestrichenen Zellen
  2. Durchstreichen aufheben: Um den durchgestrichenen Text wieder normal darzustellen, kannst Du den Text einfach markieren und Strg + 5 drücken.


Tipps für Profis

  • Verwende Bedingte Formatierung, um durchgestrichene Zellen hervorzuheben, bevor Du sie entfernst.
  • Speichere Deine Arbeitsmappe immer, bevor Du Makros ausführst, um Datenverlust zu vermeiden.
  • Experimentiere mit der VBA-Entwicklungsumgebung, um Deine Makros zu optimieren und anzupassen.

FAQ: Häufige Fragen

1. Wie kann ich durchgestrichenen Text in Excel filtern? Du kannst die Filterfunktion verwenden, um nur durchgestrichene Zellen anzuzeigen. Wähle die entsprechende Spalte aus und setze den Filter.

2. Was passiert mit durchgestrichenen Zellen, wenn ich sie lösche? Wenn Du durchgestrichene Zellen löschst, werden die Inhalte entfernt. Du kannst jedoch die Formatierung beibehalten, wenn Du nur die Inhalte leer machst.

3. Kann ich auch ganze Zeilen mit durchgestrichenem Text entfernen? Ja, indem Du VBA anpasst, um nicht nur Inhalte zu leeren, sondern auch die gesamte Zeile zu löschen, wenn der Text durchgestrichen ist.

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