Scott Antwort ist natürlich ganz richtig. Es gibt jedoch verschiedene andere Möglichkeiten, auf einen variablen Bereich zu verweisen, den Sie möglicherweise nützlich finden.
1) Sie können auch verwenden WSData.Range("A10", "J10")
, das heißt geben Sie die oben links und unten rechts Zellen als zwei getrennte Parameter. (Die Reihenfolge der paraneters nicht wirklich von Bedeutung!) In Ihrem Beispiel verwenden Sie: WSData.Range ("A" & i, "J" & i)
2) I Nummern finden Verwendung, eher als Buchstaben für Spalten ist nützlich, vor allem, wenn Ihre Spalten im Voraus unbekannt sind. Die grundlegende Struktur ist wie folgt.
WSData.Range(Cells(1,10), Cells(10,10) 'A10 to J10)
oder in Ihrem Beispiel
WSData.Range(Cells(1,i), Cells(10,i))
Allerdings muss man vorsichtig sein! Das Standardarbeitsblatt für den Bereich Zellen ist das aktive Arbeitsblatt. Ist dies nicht der gleiche wie der WSData ist, wird es zu einem Laufzeitfehler führen. Dies ist jedoch leicht möglich, indem durch die Angabe des Arbeitsblatts, in dem die „Zellen“ vermieden gehören:
WSData.Range(WSData.Cells(1,i), WSData.Cells(10,i))
Dies aussehen kann ziemlich langatmig, aber es gibt Ihnen die vollständige Flexibilität bei der Angabe Ihren Bereichs, wie Sie Variablen für jede verwenden können der Zellparameter.
'Range ("A" & i & ": J" & i)' –
Das funktionierte. Vielen Dank. – Dombey