Funktion soll Bereich zurückgeben

13/05/2011 - 15:48 von MI | Report spam
Hallo Zusammen,

ich möchte eine Funktion schreiben, die einen Bereich (Ein
Rangeobjekt) an die aufrufende Prozedur zurückgibt.
Code sieht wie folgt aus:

Sub BereichÜbergeben()
Dim RNG As
Range ' Range object
Dim WSH As
Worksheet ' Active worksheet
Set WSH = ThisWorkbook.Worksheets(1) '
Worksheet pointer
RNG Test1(WSH)
' Function caller
End Sub

Function Test1(ByRef WSH As Worksheet) As Range ' List
of arguments, Pointer to active worksheet
Set Test1 WSH.Range("A1:A3") '
Allocation Test1 to necessary Range
End
Function
' Return Range objekt

Ich bekomme immer die Fehlermeldung: Objektvariable oder With-
Blockvariable nicht festgelegt.

Wer kann mir einen Tip geben was ich falsch mache?
Vielen Dank im Voraus

Gruß
 

Lesen sie die antworten

#1 Claus Busch
13/05/2011 - 16:04 | Warnen spam
Hallo MI,

Am Fri, 13 May 2011 06:48:02 -0700 (PDT) schrieb MI:

wenn du in der Funktion den Range fest eingibst, könntest du ihn doch
auch gleich in der Sub fest eingeben. Warum der Umweg über die Funktion?
Einen Bereich musst du mit Set zuweisen. Ändere also die Zeile mit der
Rangezuweisung so ab:
Set RNG = Test1(WSH)


Mit freundlichen Grüssen
Claus Busch
Win XP Prof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

Ähnliche fragen