Sub FürJedeZelleInBereich()
Dim c As Excel.Range
For Each c In Range(Cells(6, 50), Cells(50, 50))
'*** aktuelle Zeile liefert
Debug.Print c.Row
'*** aktuelle Spalte liefert
Debug.Print c.Column
'*** aktuelle Zeilen-und Spaltennummer mit Cells verwenden
Cells(c.Row, c.Column).Value = "Wertzuweisung"
'*** andere Zeilen-und Spaltennummer mit Cells verwenden, dann einfach hinzuzählen
Cells(c.Row + 10, c.Column + 10).Value = "Wertzuweisung"
'*** oder das Offset verwenden
c.Offset(RowOffset:=10, columnoffset:=10).Value = "Wertzuweisung"
Next
End Sub
Was GetColor bewirken soll, musst Du uns noch zeigen.
Wertzuweisungen geschehen von Rechts nach Links.
Beispiel:
DieseZelleBekommt = "EinenNeuenStringWert"
Willst Du einen Zellwert mit nichts vergleichen, so wie in Deinem Code:
If Not Cells(i, x).Value = ""
Dann vergleiche nihct mit = "" sonder ist = Konstante.
Klingt komisch, is aber performanter:
If Cells(i, x).Value = vbNullString Then
NImm mal ne Millionen Datensätze und miss die Zeit.
(bytheway: Und wenn Du den NOT-Operator weglässt, isses noch n ticken schneller)
Farben:
Bei den Eigenschaften Color und ColorIndex gibt es unterschiede.
Ich finde Klaus-Dieters Seite gut gelungen und empfehle Dir, Dich da mal einzulesen.
Farben (excelwelt.eu)
|