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

Zelle färbenm wenn zwei Bedingungen

Zelle färbenm wenn zwei Bedingungen
22.06.2009 22:26:09
Sandra
Hallo zusammen,
ich muss in folgendes Makro noch eine weitere Prüfung einbauen, ich weiß aber nicht wie.

Sub Guthaben_größer_Null_färben()
Dim zeile As Long
Dim LetzteZeile As Long
With ActiveSheet
Range("K2").Select 'Spalte und Zelle anpassen
LetzteZeile = .Range("A65536").End(xlUp).Row
For zeile = 1 To LetzteZeile
If ActiveCell.Value > "0,00 €" Then
ActiveCell.Select
Selection.Interior.ColorIndex = 3
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Offset(1, 0).Select
End If
Next zeile
End With
End Sub


Es soll jetzt noch auf die Spalte A geprüft werden, ob dort ein "a" vorhanden ist. Wenn ja, dann soll die Zelle in der Spalte K rot gefärbt werden.
Kann mir jemand helfen?
Vielen Dank!
LG
Sandra

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

Betreff
Datum
Anwender
Anzeige
Weshalb nicht per "Bedingte Formatierung" ?
22.06.2009 22:37:44
NoNet
Hallo Sandra,
unabhängig von Deiner Frage : Der Code formatiert die Zellen in Abhängigkeit ihres Wertes "manuell" rot.
Das ist im Grunde genommen das gleiche, was die "Bedingte Formatierung" macht (nur ist diese einfacher, schneller und dynamischer).
MUSS das per manueller Formatierung erfolgen, oder wäre auch die Bedingte formatierung möglich (auch diese könnte man übrigens per VBA variieren/modifizieren) ?
Gruß, NoNet
AW: Zelle färbenm wenn zwei Bedingungen
22.06.2009 22:39:51
Josef
Hallo Sandra,
das macht man normalerweise ohne VBA mit bedingter Formatierung, aber hier der Code
ohne Select und Activate, der Cursor ist doch kein Hund den man durch die Gegend hetzt;-))
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Guthaben_größer_Null_färben()
  Dim rngRed As Range, rng As Range
  Dim LetzteZeile As Long
  
  With ActiveSheet
    LetzteZeile = .Cells(Rows.Count, 1).End(xlUp).Row
    For Each rng In .Range(.Cells(1, 11), .Cells(LetzteZeile, 11))
      If rng.Value > 0 Then
        If rngRed Is Nothing Then
          Set rngRed = rng
        Else
          Set rngRed = Union(rngRed, rng)
        End If
      End If
      If rng.Offset(0, -10).Value = "a" Then
        If rngRed Is Nothing Then
          Set rngRed = rng.Offset(0, -10)
        Else
          Set rngRed = Union(rngRed, rng.Offset(0, -10))
        End If
      End If
    Next
  End With
  
  If Not rngRed Is Nothing Then rngRed.Interior.ColorIndex = 3
  
  Set rngRed = Nothing
  Set rng = Nothing
End Sub

Gruß Sepp

Anzeige
Du hast was überlesen ...
23.06.2009 06:55:03
Matthias
Hallo Sepp
Zitat:
Es soll jetzt noch auf die Spalte A geprüft werden, ob dort ein "a" vorhanden ist.
Wenn ja, dann soll die Zelle in der Spalte K rot gefärbt werden.

Du meintest also sicher so ?

Sub Guthaben_größer_Null_färben()
Dim rngRed As Range, rng As Range
Dim LetzteZeile As Long
With ActiveSheet
LetzteZeile = .Cells(Rows.Count, 1).End(xlUp).Row
For Each rng In .Range(.Cells(1, 11), .Cells(LetzteZeile, 11))
If rng.Value > 0 And rng.Offset(, -10).Value = "a" Then
If rngRed Is Nothing Then
Set rngRed = rng
Else
Set rngRed = Union(rngRed, rng)
End If
End If
Next
End With
If Not rngRed Is Nothing Then rngRed.Interior.ColorIndex = 3
Set rngRed = Nothing
Set rng = Nothing
End Sub




aber so würde es vielleicht auch schon reichen.

Sub sandra()
Dim LetzteZeile As Long, rng As Range
With ActiveSheet
LetzteZeile = .Cells(Rows.Count, 1).End(xlUp).Row
For Each rng In .Range(.Cells(1, 11), .Cells(LetzteZeile, 11))
If rng.Value > 0 And rng.Offset(, -10).Value = "a" Then rng.Interior.ColorIndex = 3
Next
End With
End Sub


Gruß Matthias

Anzeige
Thank you
23.06.2009 16:51:28
Sandra
Hallo zusammen,
vielen Dank für Eure Hilfe!
Nutze das Makro von Mathias. :-)
Blöde Frage: Ihr schreibt alle, dass sollte man über eine bedingte Formatierung lösen. Ich färbe die Einträge und ein zweites Makro kopiert die farbigen Zeilen dann in ein anderes Blatt.
Ich bin kein Freund von einer einer bedingten Formatierung. Wir könnte man das denn hierüber lösen, damit man anschließend diese Zeilen auch kopieren kann?
Vielen Dank!
Viele Gruß
Sandra
Du hattest da ja noch eine Frage ...
25.06.2009 08:57:25
Matthias

Hallo Sandra


Userbild


Zitat:
Wir könnte man das denn hierüber lösen, damit man anschließend diese Zeilen auch kopieren kann?
Userbild
Lass Dich aber nicht täuschen von den verschiedenen Zeilen in den beiden Bildern.
Es sind unterschiedliche Varianten in denen ich getestet habe.
Deshalb sind im 2. Bild auch andre Zeilen gefiltert als im 1.Bild zu sehen sind.


Gruß Matthias
Anzeige

330 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige