online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon jockel01 vom 03.09.2020, 10:36 Options

VBA Variablen

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 schreiben

Antwort 1 von son_quatsch vom 03.09.2020, 10:46 Options

Verwende nicht
Range("A1").

sondern einfach
Cells(1, 1).

Antwort 2 von Saarbauer vom 03.09.2020, 10:46 Options

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

Antwort 3 von Flupo vom 03.09.2020, 10:47 Options

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

Antwort 4 von jockel01 vom 03.09.2020, 10:51 Options

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 vom 03.09.2020, 11:05 Options

Du kannst auch Cells(23, "AE"). aufrufen - Problem gelöst?

Antwort 6 von jockel01 vom 03.09.2020, 11:09 Options

und wie mach ich das jetz mit der For schleife?

Antwort 7 von Flupo vom 03.09.2020, 11:17 Options

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

Antwort 8 von Saarbauer vom 03.09.2020, 11:19 Options

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

Antwort 9 von coros vom 03.09.2020, 11:48 Options

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.

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
Next


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.

Antwort 10 von jockel01 vom 11.09.2020, 11:02 Options

Danke war passend. Sorry bin grad erst wieder online gegangen.
Gruß
jockel

Ähnliche Themen

Addition einer Variablen
mol  19.03.2007 - 63 Hits - 8 Antworten

Summen-Formel mit variablen Bereich
Jette  30.03.2007 - 71 Hits - 4 Antworten

Gültigkeitsprüfung mit variablen Werten
danielG  06.07.2007 - 12 Hits - 5 Antworten

SummeWenn mit Variablen
dvdh  10.07.2008 - 78 Hits - 3 Antworten

zusammenfassen von Variablen einer Spalte
E.RU  04.08.2008 - 6 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 20:06:00 2026