Supportnet / Forum / Tabellenkalkulation
VBA Variablen
Frage
Hallo!
HAb folgendes Problem in Excel 2003.
For i = "34" To "100"
If Range("AI3").Value = Range("EZ4").Value And Range("AI2").Value = Range("FA4").Value Then
Range("A"&i).Interior.ColorIndex = 38
Range("A"&i).Font.ColorIndex = 38
Else
Range("A"&i).Interior.ColorIndex = 16
Range("A"&i).Font.ColorIndex = 16
Jetzt möchte ich nicht die Zeilen variabel gestalten sondern die Spalten wie mach ich das?
Antwort 1 von son_quatsch
Verwende nicht
sondern einfach
Range("A1").sondern einfach
Cells(1, 1).Antwort 2 von Saarbauer
Hallo,
geht wohl am einfachsten mit
Cells(Zeile, Spalte), ??? z.B. Cells( 2, 1)...
anstelle von Range(....).??? nach oben gemachten Beispiel Range ( "A2").....
aber Achtung bei Cells sind die Anordnung der Angaben zur Zelle umgekehrt
Gruß
Helmut
geht wohl am einfachsten mit
Cells(Zeile, Spalte), ??? z.B. Cells( 2, 1)...
anstelle von Range(....).??? nach oben gemachten Beispiel Range ( "A2").....
aber Achtung bei Cells sind die Anordnung der Angaben zur Zelle umgekehrt
Gruß
Helmut
Antwort 3 von Flupo
Benutze anstelle von Range(A3) Cells(3,1) (Zeile, Spalte) dann kannst du beide Werte der Position numerisch definieren und hast kein Problem in der IF-Anweisung.
Gruß Flupo
Gruß Flupo
Antwort 4 von jockel01
Ja, das weis ich schon, aber ich arbeite in Zellen z.B. AE 23 und da ist es immer blöd zum umrechnen.
Antwort 5 von son_quatsch
Du kannst auch Cells(23, "AE"). aufrufen - Problem gelöst?
Antwort 6 von jockel01
und wie mach ich das jetz mit der For schleife?
Antwort 7 von Flupo
Rechne halt um.
Du kannst in der FOR-Schleife nur numerische Variablen verwenden - ob es blöd ist, oder nicht.
Als Hilfestellung während der Programmierung kannst du unter "Extras" - "Optionen" - Registerkarte "Allgemein" die Anzeige der Z1S1-Darstellung aktivieren.
Gruß Flupo
Du kannst in der FOR-Schleife nur numerische Variablen verwenden - ob es blöd ist, oder nicht.
Als Hilfestellung während der Programmierung kannst du unter "Extras" - "Optionen" - Registerkarte "Allgemein" die Anzeige der Z1S1-Darstellung aktivieren.
Gruß Flupo
Antwort 8 von Saarbauer
Hallo,
Die Spalte AE ist 31 ergibt sich aus A bis z = 26 Spalten und A bis E =5 Spalten
In deinem Fall würde ich mit
For x = 31 to ....
Cells(23, x)....
arbeiten
Gruß
Helmut
Die Spalte AE ist 31 ergibt sich aus A bis z = 26 Spalten und A bis E =5 Spalten
In deinem Fall würde ich mit
For x = 31 to ....
Cells(23, x)....
arbeiten
Gruß
Helmut
Antwort 9 von coros
Hallo an alle!
Man kann, auch wenn das sicherlich beswser ist, das über Cells(x,y) zu lösen, auch aus der Spaltenindexzal wieder den Buchstaben ermitteln. Nachfolgend mal ein Beispiel, welches aus den Spaltenindexzahlen 35 bis 100 einen Spaltenbuchstaben macht.
Wie bereits geschrieben, ist der Weg über Cells(x,y) der bessere. Aber ich wollte nur noch aufzeigen, dass man auch mit Buchstaben arbeiten kann.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Man kann, auch wenn das sicherlich beswser ist, das über Cells(x,y) zu lösen, auch aus der Spaltenindexzal wieder den Buchstaben ermitteln. Nachfolgend mal ein Beispiel, welches aus den Spaltenindexzahlen 35 bis 100 einen Spaltenbuchstaben macht.
Dim i As Long
Dim strSpalte As String
For i = 34 To 100
strSpalte = Application.Substitute(Cells(1, i).Address(0, 0), 1, "")
MsgBox strSpalte
NextWie bereits geschrieben, ist der Weg über Cells(x,y) der bessere. Aber ich wollte nur noch aufzeigen, dass man auch mit Buchstaben arbeiten kann.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 10 von jockel01
Danke war passend. Sorry bin grad erst wieder online gegangen.
Gruß
jockel
Gruß
jockel

