Excel-Vba: Cells() und Range() benutzen
aber meine zelle heßt nicht „2“, sondern i2.
d.h. i2+schleifenwert. wie heißt die syntax dazu?
weist du da bescheid.
hilfe.
anm.: z.b. , d.h. beim
nächsten durchlauf brauche ich "a2, dann a3 usw.
Hallo Nikodemo,
du vermischst da Einiges.
Wenn du so gut sein wirst wie Rainer ) kannste auch „&“ und „+“ verwechseln und dich dabei auf den Umwandlungsautomatismus von VB verlassen, bis dahin benutze „&“ und „+“ Regelkonform.
Versuche mal im nachfolgenden Code alle Befehle in der Prozedur „Schwer“ zu analysieren, danach müßte es dir relativ einfach fallen alles in der Prozedur „Normal“ zu verstehen.
Das Ergebnis aller Befehle ist immer „I7“
Btw.: rtfm!
Und Zeilen- und Spaltenvariablen un Excel IMMER als „Long“ deklarieren, egal ob’s nur 256 Spalten sind oder nicht.
Sub Normal()
Dim R As Long, R1 As Long, R2 As Long
R = 7
R1 = 3
R2 = 4
MsgBox Range("I" & R).Address
MsgBox Cells(R, 9).Address
MsgBox Cells(R, "I").Address
MsgBox Range("I" & R1 + R2).Address
MsgBox Cells(R1 + R2, 9).Address
End Sub
'
Sub Schwer()
Dim R As Long
R = 7
MsgBox Range("B3:smiley:" & R).Range("H5").Address
MsgBox Range("X27").Offset(-20, -15).Address
MsgBox Range("I1").Offset(R - 1, 0).Address
MsgBox Range("I" & R).Address
MsgBox Cells(R, 9).Address
MsgBox Cells(R, "I").Address
MsgBox Range(Chr(64 + 9) & R).Address
End Sub
Gruß
Reinhard