Frage von rxman5, 58

Wie funktioniert in Excel die Indirekt Funktion im Makro?

Hallo, In Excel wird im Makro mit " Range("A1").Offset(1,0).Select " die Zelle A2 ausgewählt, weil die Zeile um 1 nach unten verschoben ist. Nun möchte ich aber dass es um genau so viele Zeilen nach unten verschoben wird, wie in A2 steht. Ich habe es mit " Range("A1").Offset("A2",0).Select " versucht, was aber nicht geht. Nun also die Frage: Wie kann ich das Problem lösen?

Expertenantwort
von Oubyi, Community-Experte für Excel, 35

Da fehlt ein "Range":

Range("A1").Offset(Range("A2"), 0).Select

Ist doch logisch. Oder?

Genauer müsste es sogar heißen:
Range("A1").Offset(Range("A2").Value, 0).Select

Kommentar von Iamiam ,

Hätte es beinahe selbst vergessen: in grauer Vorzeit gabs mal die Kurzform ohne Range und Gänsefüßchen [A1]. Da die eckige Klammer aber nicht auswertet, weiß ich gar nicht, ob ein

[A1].offset([A2].value, 0).select 

ginge (ohne .value vermutlich nicht und ob das überhaupt noch geht, probier ich heut auch nicht mehr aus...)

Kommentar von Britzcontrol ,

siehe meine Antwort.
Gruß aus Berlin

Antwort
von Britzcontrol, 26

@ Iamiam

In XL 2007 gehts ganz kurz:
Cells(1, 3) = [a1].Offset([b1], 0)

Gruß aus Berlin

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten