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

Forumthread: Zeilen markieren, wenn in Zelle A ein Wert steht

Zeilen markieren, wenn in Zelle A ein Wert steht
Ingo
Gut Tag mal wieder
Ich möchte mit VBA alle Zeilen, in denen in Zelle A ein Wert steht,
von A bis L markieren.
Hier mal ein Beispiel:
-----A-----B-----C-----D-----E-----F-----G-----H-----I-----J-----K-----L
-1----------X-----X-----X-----X-----X-----X-----X-----X-----X-----X-----X
-2---X-----X-----X-----X-----X-----X-----X-----X-----X-----X-----X-----X
-3----------X-----X-----X-----X-----X-----X-----X-----X-----X-----X-----X
-4---X-----X-----X-----X-----X-----X-----X-----X-----X-----X-----X-----X
-5---X-----X-----X-----X-----X-----X-----X-----X-----X-----X-----X-----X
-6----------X-----X-----X-----X-----X-----X-----X-----X-----X-----X-----X
Die Striche habe ich nur gemacht, damit hier im Forum alles anständg
untereinander steht :)
Wie mann sehen kann stehen hier nur in den Zeilen 2,4 und 5 jeweils
ein Wert in Zelle A.
Somit sollen also auch nur in Zeile 2,4 und 5 Die Spalten A-L markiert werden.
Da ich selber so etwas in VBA leider nicht schaffe,
würde ich mich riesig freuen, wenn mir jemand von Euch
den entsprechenden VBA-Code "machen" könnte :)
Gruß
Ingo
Anzeige
AW: Zeilen markieren, wenn in Zelle A ein Wert steht
Pepi
Hallo Ingo,
schau dir mal Format Bedingte Formatierung an.
Habe ein kleines Beispiel angehängt.
Grüsse
Pepi
Wo ist denn Dein Beispiel ?
Ingo
Lieber Pepi
-- Habe ein kleines Beispiel angehängt.
Wo ist denn Dein Beispiel ?
Gruß
Ingo
AW: Wo ist denn Dein Beispiel ?
Pepi
Hallo Ingo,
https://www.herber.de/bbs/user/6003.xls
Sorry, hab ganz drauf vergessen.
Grüsse
Pepi
Anzeige
AW: Wo ist denn Dein Beispiel ?
04.05.2004 14:33:24
Ingo
Lieber Pepi
Mein Anliegen wurde inzwischen weiter untern in diesem Thread gelöst.
Aber trotzdem natürlich auch Dir vielen lieben Dank für Deine Tipps.
Gruß
Ingo
AW: Zeilen markieren, wenn in Zelle A ein Wert steht
xXx
Hallo,
markiere den Bereich, dann Format-Bedingte Formatierung.
Formel ist: =$a1"" und Format(Muster) auswählen.
Gruß aus'm Pott
Udo
Anzeige
AW: Zeilen markieren, wenn in Zelle A ein Wert steht
Uwe
Hallo Ingo,
so sollte es gehen:

Sub ZeilenMarkieren()
Dim GefBer As Range
Dim SuchBer As Range
Dim SucheNach
Dim Z As Range
SucheNach = "x"
Set SuchBer = Range("A1:A" & Columns("A").EntireColumn.Find("*", searchdirection:=xlPrevious).Row)
For Each Z In SuchBer.Cells
If Z.Value = SucheNach Then
If GefBer Is Nothing Then
Set GefBer = Range(Cells(Z.Row, 1), Cells(Z.Row, 12))
Else
Set GefBer = Application.Union(GefBer, Range(Cells(Z.Row, 1), Cells(Z.Row, 12)))
End If
End If
Next Z
If Not GefBer Is Nothing Then GefBer.Select
End Sub

Gruß Uwe
Anzeige
Funktioniert leider noch nicht.
Ingo
Lieber Uwe
Vielen lieben Dank erstmal für Deine schnelle Hilfe !
Aber leider will es noch nicht richtig funtionieren.
Ich habe folgenden Code als Modul hinzugefügt:
Option Explicit

Sub AAA()
Dim GefBer As Range
Dim SuchBer As Range
Dim SucheNach
Dim Z As Range
SucheNach = "x"
Set SuchBer = Range("A1:A" & Columns("A").EntireColumn.Find("*", searchdirection:=xlPrevious).Row)
For Each Z In SuchBer.Cells
If Z.Value = SucheNach Then
If GefBer Is Nothing Then
Set GefBer = Range(Cells(Z.Row, 1), Cells(Z.Row, 12))
Else
Set GefBer = Application.Union(GefBer, Range(Cells(Z.Row, 1), Cells(Z.Row, 12)))
End If
End If
Next Z
If Not GefBer Is Nothing Then GefBer.Select
End Sub

Wennn ich nun das Makro "AAA" ausführe, passiert leider garnichts.
Was mache ich falsch ?
Es würde mich riesig freuen, wenn Du mir da noch weiter helfen könntest.
Gruß Ingo
Anzeige
AW: Funktioniert leider noch nicht.
Uwe
Hallo Ingo,
vielleicht liegt es daran, das in den Zellen große X-se stehen. Groß- Kleinschreibung
wird unterschieden.
Gruß Uwe
kann es sein...
P@ulchen
dass hier ein Mißverständnis vorliegt ?
Ich glaube, dass Ingo alle Zeilen markieren will, die in Spalte A nicht leer sind.
Der Code von Uwe markiert jedoch alle Zeilen, die in Spalte A ein "x" haben...
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
P@ulchen hat Recht
Ingo
Lieber Uwe
Da habe ich mich in meinem ersten Posting vielleicht etwas
unklar ausgedrückt.
Ich möchte NICHT die Zeilen markieren, die in Spalte A ein "X" haben.
Sondern ich möchte alle Zeilen marieren, die in Spalte A nicht leer sind.
Liesse sich Dein Code da abändern ?
Über Deine Hilfe freut sich natürlich immer noch sehr der
Ingo aus Münster :)
Anzeige
AW: P@ulchen hat Recht
Uwe
Hallo Ingo, Hallo Paul,
hab ich tatsächlich falsch verstanden.
@Ingo:
ersetze die Zeile
If Z.Value = SucheNach Then
durch
If Not IsEmpty(Z) Then
Gruß Uwe
DANKE ... genau so klappts ! ... (o.T.)
04.05.2004 14:32:09
Ingo
o.T.

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeilen markieren, wenn in Zelle A ein Wert steht


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und lade die Datei, in der Du die Zeilen markieren möchtest.

  2. Öffne den VBA-Editor: Drücke ALT + F11.

  3. Füge ein neues Modul hinzu: Rechtsklicke im Projekt-Explorer auf VBAProject (DeineDatei), wähle Einfügen und dann Modul.

  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub ZeilenMarkieren()
       Dim GefBer As Range
       Dim SuchBer As Range
       Dim Z As Range
    
       Set SuchBer = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    
       For Each Z In SuchBer.Cells
           If Not IsEmpty(Z) Then
               If GefBer Is Nothing Then
                   Set GefBer = Range(Cells(Z.Row, 1), Cells(Z.Row, 12))
               Else
                   Set GefBer = Application.Union(GefBer, Range(Cells(Z.Row, 1), Cells(Z.Row, 12)))
               End If
           End If
       Next Z
    
       If Not GefBer Is Nothing Then GefBer.Select
    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 ZeilenMarkieren aus und klicke auf Ausführen.

Jetzt sollten alle Zeilen, in denen in Zelle A ein Wert steht, von A bis L markiert werden.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht, oder es wird nichts markiert.
    Lösung: Stelle sicher, dass die Zellen in Spalte A nicht leer sind. Der Code markiert nur die Zeilen, in denen Zelle A einen Wert enthält.

  • Fehler: Groß- und Kleinschreibung wird nicht berücksichtigt.
    Lösung: Achte darauf, dass Du den Wert in Zelle A korrekt eingibst, wenn Du eine spezifische Bedingung hast.


Alternative Methoden

  1. Bedingte Formatierung:

    • Markiere den Bereich A1:L100.
    • Gehe zu Start > Bedingte Formatierung > Neue Regel.
    • Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden und gib die Formel =NOT(ISBLANK($A1)) ein.
    • Wähle das gewünschte Format und klicke auf OK.
  2. Excel-Funktionen:

    • Wenn Du nur visuell hervorheben möchtest, kannst Du auch die Funktion =WENN($A1<>""; "Markieren"; "") verwenden und die Zellen entsprechend formatieren.

Praktische Beispiele

  • Beispiel 1: Du hast die Daten in den Zeilen 1 bis 10 in Spalte A und möchtest alle Zeilen markieren, in denen Werte vorhanden sind. Der oben angegebene VBA-Code funktioniert dafür perfekt.

  • Beispiel 2: Wenn Du eine Liste hast, in der Du nur die Zeilen markieren möchtest, die in einer bestimmten Liste stehen, kannst Du die Formel in der bedingten Formatierung anpassen:

    =ISTEXT($A1)

Tipps für Profis

  • Verwendung von Variablen: Du kannst die Suchbereiche und Formate in Variablen speichern, um den VBA-Code übersichtlicher und flexibler zu gestalten.
  • Optimierung: Bei großen Datenmengen kann das Markieren von Zeilen mit VBA schneller sein als manuelle Methoden und hilft, die Performance zu verbessern.
  • Makros speichern: Vergiss nicht, Deine Excel-Datei im .xlsm-Format zu speichern, um die Makros zu behalten.

FAQ: Häufige Fragen

1. Frage
Wie kann ich die Zeilen markieren, wenn die Zelle A einen bestimmten Wert hat?
Antwort
Ändere die Bedingung im VBA-Code von If Not IsEmpty(Z) Then zu If Z.Value = "deinWert" Then.

2. Frage
Kann ich das Makro so ändern, dass es auch Zeilen markiert, wenn in A ein Wert steht, aber auch in B?
Antwort
Ja, Du müsstest die If-Bedingung entsprechend anpassen, um auch die Zelle B zu überprüfen: If Not IsEmpty(Z) Or Not IsEmpty(Z.Offset(0, 1)) Then.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige