Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1764to1768
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

For Schleife mit 2 Variablen

For Schleife mit 2 Variablen
11.06.2020 14:11:16
Lukas
Hallo liebe Community,
untenstehend folgender Code:

Private Sub Worksheet_Calculate1()
Dim RaBereich As Range                  ' Variable für Bereich
Dim RaZelle As Range                    ' Variable für Zelle
' Bereich der Wirksamkeit
Set RaBereich = Range("F20")
For Each RaZelle In RaBereich           ' überwachten Bereich formatieren
With RaZelle
Select Case .Value              ' Zellinhalt vergleichen
Case Is = ""
.Interior.ColorIndex = 0      ' Füllfarbe leer
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
Case Is = Range("W20").Value
.Interior.ColorIndex = 4      ' Füllfarbe Hellgrün
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
Case Is = "0"
.Interior.ColorIndex = 4      ' Füllfarbe Hellgrün
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
Case Else
.Interior.ColorIndex = 0      ' Füllfarbe leer
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
End Select
End With
Next RaZelle
Set RaBereich = Nothing                 ' Variable leeren
End Sub

Ich möchte diese Formel über 300 Zeilen durchführen und die zwei Variablen...
Set RaBereich = Range("F20")
Case Is = Range("W20").Value
... sollen jeweils mit der nächsten Zeile mitspringen.
Zum Beispiel:
Zeile 1: Set RaBereich = Range("F20")
Case Is = Range("W20").Value
Zeile 2: Set RaBereich = Range("F21")
Case Is = Range("W21").Value
und das über 300 Zeilen.
Vielen Dank schon mal für Eure Hilfe.
Schöne Grüße
Lukas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For Schleife mit 2 Variablen
11.06.2020 14:21:41
Martin
Hallo Lukas,
eigentlich scheint es mir so, als ob die Bedingte Formatierung besser als dieses Makro geeignet wäre. Ich habe dein Makro nach deiner Beschreibung angepasst, allerdings müsstest du noch die Zeilen genauer festlegen. Da aus deiner Beschreibung der Zeilenbereich nicht hervorgeht, habe ich jetzt die Zeilen 20 bis 320 eingetragen:
Private Sub Worksheet_Calculate1()
Dim iRow As Integer
Dim RaBereich As Range                  ' Variable für Bereich
Dim RaZelle As Range                    ' Variable für Zelle
' Bereich der Wirksamkeit
For iRow = 20 To 320
Set RaBereich = Cells(iRow, 6)
For Each RaZelle In RaBereich           ' überwachten Bereich formatieren
With RaZelle
Select Case .Value              ' Zellinhalt vergleichen
Case Is = ""
.Interior.ColorIndex = 0      ' Füllfarbe leer
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
Case Is = Cells(iRow, 23).Value
.Interior.ColorIndex = 4      ' Füllfarbe Hellgrün
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
Case Is = "0"
.Interior.ColorIndex = 4      ' Füllfarbe Hellgrün
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
Case Else
.Interior.ColorIndex = 0      ' Füllfarbe leer
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
End Select
End With
Next RaZelle
Next
Set RaBereich = Nothing                 ' Variable leeren
End Sub
Viele Grüße
Martin
Anzeige
AW: For Schleife mit 2 Variablen
11.06.2020 14:46:48
Martin
Hallo Lukas,
irgendwie hatte ich mich von der Zeile Set RaBereich = Range("F20") und der Aufgabenstellung mit der zweiten Variable aus dem Konzept bringen lassen. Es wird ja ohnehin jede Zelle in der Variable RaBereich durchlaufen. Eine zweite Variable ist nicht notwendig:
Private Sub Worksheet_Calculate1()
Dim RaBereich As Range                  ' Variable für Bereich
Dim RaZelle As Range                    ' Variable für Zelle
' Bereich der Wirksamkeit
Set RaBereich = Range("F20:F320")
For Each RaZelle In RaBereich           ' überwachten Bereich formatieren
With RaZelle
Select Case .Value              ' Zellinhalt vergleichen
Case Is = ""
.Interior.ColorIndex = 0      ' Füllfarbe leer
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
Case Is = Cells(.Row, 23).Value
.Interior.ColorIndex = 4      ' Füllfarbe Hellgrün
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
Case Is = "0"
.Interior.ColorIndex = 4      ' Füllfarbe Hellgrün
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
Case Else
.Interior.ColorIndex = 0      ' Füllfarbe leer
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
End Select
End With
Next RaZelle
Set RaBereich = Nothing                 ' Variable leeren
End Sub

Anzeige
AW: For Schleife mit 2 Variablen
11.06.2020 21:37:35
Lukas
Hi Martin,
ich hab das ganze ausprobiert und es hat super geklappt.
Hast mir sehr geholfen, vielen Dank!
Schöne Grüße
Lukas
AW: For Schleife mit 1 Variable
11.06.2020 14:42:57
GerdL
Moin
Private Sub Worksheet_Calculate1()
Dim C As Range                    ' Variable für Zelle
With Range("F20:F319")
.Font.ColorIndex = 1          ' Schriftfarbe Schwarz
For Each C In .Cells
Select Case C.Value              ' Zellinhalt vergleichen
Case 0, Range("W" & C.Row).Value
C.Interior.ColorIndex = 4      ' Füllfarbe Hellgrün
Case Else
C .Interior.ColorIndex = 0      ' Füllfarbe leer
End Select
Next C
End With
End Sub

Gruß Gerd
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige