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

Forumthread: VBA Text in Zelle auf Inhalt Prüfen

VBA Text in Zelle auf Inhalt Prüfen
20.06.2018 14:24:21
D2743
Hallo Zusammen habe folgende Problematik
In einer Text Spalte (M) müsste ich nach einem einzelnen Zeichen (*) Suchen [ Bsp. Abcd*V oder *abcfd ] und dann bei vorhanden sein die jeweilige Zelle(n) einfärben.
Ich wäre Dankbar für eure Hilfe
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Text in Zelle auf Inhalt Prüfen
20.06.2018 14:40:39
UweD
Hallo
bedingte Formatierung mit Formel.

Tabelle1
 M
1 
2sdsdsd
3dsdlsdsl*ksdks
4dsjdjs
5nvjvj*
6*sdjhgjhas
7ssd
8 
9 
10 
11 
12 
13 
die bedingte Formatierung Fülleffekte, Symbole, Datenbalken
werden in dieser Tabelle nicht dargestellt

Bedingte Formatierung Haupttabelle 1  
Wird angewendet auf   Nr. Bed.  Regeltyp  Operator   Formel1   Formel2   Format Schrift Füll-farbe   Unterstrichen   Schrift- farbe Muster   Muster-farbe Typ Bereich
$M$2:$M$1001.Bed.: Formel ist =ISTZAHL(FINDEN("*";M2))  255         2$M$2:$M$10
Bedingte Formatierung Haupttabelle 2 oberere/unterer Bereich    
Wird angewendet auf   Nr. Bed.  Format Zelle Anhalten Auswahl   Anzeige   Anzahl   Durchschnitt   Typ   Bereich
$M$2:$M$1001.Bed.   Falsch          2$M$2:$M$10
Die Bedingungen wurden mit Excel-Version ab 2007 ausgelesen.

http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://Hajo-Excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 25.14 einschl. 64 Bit


LG UweD
Anzeige
AW: VBA Text in Zelle auf Inhalt Prüfen
20.06.2018 14:52:31
D2743
Hallo Uwe schon mal Danke für deine schnelle Hilfe!
Geht das auch per Makro mit schleife durch den Zellbereich?
AW: VBA Text in Zelle auf Inhalt Prüfen
20.06.2018 15:17:40
UweD
Hallo nochmal
ja, so...
Sub Makro2()
    Dim TB, Sp As Integer, Zelle
    Set TB = Sheets("Tabelle1")
    Sp = 13 'Spalte M 
    
    With TB
        'Reset 
        .Columns(Sp).Interior.Pattern = xlNone
        
        If WorksheetFunction.CountIf(.Columns(Sp), "<>") > 0 Then
            For Each Zelle In .Columns(Sp).SpecialCells(xlCellTypeConstants, 2) ' alle Zellen mit Text 
                If InStr(Zelle, "*") Then
                    Zelle.Interior.Color = 255 'rot 
                End If
            Next
        End If
    End With
End Sub

LG UweD
Anzeige
AW: VBA Text in Zelle auf Inhalt Prüfen
21.06.2018 07:42:27
D2743
Hallo Uwe Super nochmals Dankeschön!
Danke für die Rückmeldung owT
21.06.2018 07:51:48
UweD
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA Text in Zelle auf Inhalt Prüfen


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem du die Zellen untersuchen möchtest.

  2. Aktiviere den VBA-Editor mit ALT + F11.

  3. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (deinWorkbookName)".
    • Wähle "Einfügen" > "Modul".
  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub Makro2()
       Dim TB, Sp As Integer, Zelle
       Set TB = Sheets("Tabelle1")
       Sp = 13 'Spalte M 
    
       With TB
           'Reset
           .Columns(Sp).Interior.Pattern = xlNone
    
           If WorksheetFunction.CountIf(.Columns(Sp), "<>") > 0 Then
               For Each Zelle In .Columns(Sp).SpecialCells(xlCellTypeConstants, 2) ' alle Zellen mit Text
                   If InStr(Zelle, "*") Then
                       Zelle.Interior.Color = 255 'rot
                   End If
               Next
           End If
       End With
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Führe das Makro aus:

    • Drücke ALT + F8, wähle "Makro2" aus und klicke auf "Ausführen".

Häufige Fehler und Lösungen

  • Fehler: "Method 'SpecialCells' of object 'Range' failed"

    • Lösung: Stelle sicher, dass es Zellen mit Text in der betreffenden Spalte gibt. Wenn nicht, wird dieser Fehler angezeigt.
  • Fehler: "Typen unverträglich"

    • Lösung: Überprüfe, ob der Code korrekt kopiert wurde und alle Variablen richtig deklariert sind.
  • Die Zellen färben sich nicht:

    • Stelle sicher, dass das Zeichen * tatsächlich in den Zellen vorhanden ist und dass du die richtige Spalte angibst.

Alternative Methoden

  1. Bedingte Formatierung:

    • Du kannst auch die bedingte Formatierung verwenden, um Zellen einzufärben, die ein bestimmtes Zeichen enthalten:
      • Gehe zu "Start" > "Bedingte Formatierung" > "Neue Regel".
      • Wähle "Formel zur Ermittlung der zu formatierenden Zellen verwenden" und gib die Formel =ISTZAHL(FINDEN("*", M2)) ein, wobei M2 die erste Zelle in der Spalte ist.
  2. Excel-Funktionen:

    • Verwende die Funktion =WENN(ISTZAHL(FINDEN("*", M2)), "Enthält *", "Keine *") um zu prüfen, ob die Zelle das Zeichen enthält.

Praktische Beispiele

Angenommen, du hast folgende Werte in Spalte M:

Zeile Inhalt
1 Abcd*V
2 Test
3 *abcfd
4 Beispiel
5 nvjvj*

Nach dem Ausführen des Makros werden die Zellen mit "AbcdV", "abcfd" und "nvjvj*" rot eingefärbt. Dies zeigt, wie du mit Excel VBA Zelle auf Inhalt prüfen kannst, um schnell Informationen zu visualisieren.


Tipps für Profis

  • Verwende Schleifen effizient: Bei großen Datenmengen kann der Einsatz von Application.ScreenUpdating = False zu einer schnelleren Ausführung des Makros führen.
  • Fehlerbehandlung: Füge On Error Resume Next hinzu, um den Code robuster gegen Fehler zu machen.
  • Verwende Named Ranges: Arbeite mit benannten Bereichen, um deine Formeln und VBA-Code übersichtlicher zu gestalten.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um mehrere Zeichen zu überprüfen? Du kannst die Bedingung in der If-Anweisung erweitern, um mehrere Zeichen zu überprüfen, z.B. If InStr(Zelle, "*") Or InStr(Zelle, "#") Then.

2. Funktioniert das auch in älteren Excel-Versionen? Ja, der gezeigte VBA-Code wird ab Excel 2007 unterstützt. Für ältere Versionen kann es geringfügige Anpassungen erfordern.

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