PDA

Vollständige Version anzeigen : Range definieren mit Variable


rudse
27.04.2009, 08:59
ich komme echt nicht weiter:

Dim Spalten1 As Range
Dim colMW As Variant
Set Spalten1 = Worksheets("MesswertMatrix").Range(Cells(1, colMW), Cells(250, colMW+1))

will einfach nicht funktionieren...

was mache ich falsch? Habe schon 1000 Dinge probiert.

Danke für jede Hilfe!

IngGi
27.04.2009, 09:14
Hallo Stephan,

vom grundsätzlichen Aufbau her stimmt das. Ich sehe zwei mögliche Fehlerquellen. Zum einen muss die Variable colMW einen einzelnen numerischen Wert enthalten. Das Präfix col deutet auf die Verwendung der Variantvariablen als Collection mit mehreren Werten hin. Das würde natürlich schiefgehen.

Zum zweiten solltest du auch die beiden Cells-Anweisungen über das Worksheet referenzieren, also zum Beispiel so:
With Worksheets("MesswertMatrix")
Set Spalten1 = .Range(.Cells(1, colMW), .Cells(250, colMW + 1))
End With
Gruß Ingolf

rudse
29.04.2009, 15:30
beide Cells auf das Worksheet zu beziehen ist die Lösung

1000000 Dank IngGi, leider darf ich dich nicht bewerten, da du mir auch zuletzt schon geholfen hast!

Super!!

ExcelNewbieDenver
30.01.2014, 16:36
Hallo,

ich habe ein kleines (hoffe ich zumindest) Problem mit einem Makro, und bin sehr dankbar wenn mir hier jemand weiterhilft.

Kurze Erklärung:

Ich möchten einen variablen Bereich kopieren und auf einer Variablen Zelle kopieren. Hier mein Code:

intFrom = 14
intTill = p44
intTo = 158

Range("C" & intFrom & ":C" & intTill).Select
Selection.Copy
Range("C" & intTo).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Probleme treten auf, wenn ich für intTill anstelle der 157 "P44" (Das ist die Zelle in der meine Zeilenzahl berechnet wird) eingebe. Es ist jedenfalls nötig dass ich hier einen Bezug auf eine Zelle habe, in der meine Rechnung stattfindet.

Kann mir bitte jemand weiterhelfen?
Danke

GMG-CC
30.01.2014, 19:01
Moin,

vorweg eine Anmerkung: Uralt-Threads mit einem neuen Problem "aufzufrischen" nennen wir (Helfer) vielfach "Leichenschändung" :mrcool: Mache also besser einen neuen Beitrag, dann wird er auch eher gelesen.

So, ich denke mal hier ist der Fehler:
intFrom = 14
intTill = Range"p44")
intTo = 158