Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range als Rückgabewert???

Forumthread: Range als Rückgabewert???

Range als Rückgabewert???
07.01.2004 14:55:25
Ulrich
Hallo,
ich möchte einen Range als Eingabe einer Funktion
und nach Bearbeitung der Werte wieder zurückgeben.
(Anwendung: =ZÄHLENWENN(test(A1:A6);"=1"))
Mein erster Versuch war wie folgt:

Function test(ByVal ArrayIn As Range) As Range
Dim element As Range
For Each element In ArrayIn
ArrayIn.Value2 = 1 'an Stelle von 1 Berechnung einfügen
Next element
test = ArrayIn
End Function

Jedoch bekomme ich einen Fehler(1004) bei "ArrayIn.Value2 = 1".
Kann mir jemand auf die Sprünge helfen, was ich falsch mache?
Danke,
Ulrich.
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range als Rückgabewert???
07.01.2004 15:23:38
Michael Scheffler
Hi,
Also ich weiß nicht, was das Ganze soll, aber eine Objektvariable wie einen Range weist man mit Set zu.
Gruß
Micha
AW: Range als Rückgabewert???
07.01.2004 15:29:14
Matthias G
Hallo Ulrich,
Ich nicht getestet, aber wenn der Range mehrere Zellen umfasst, funktioniert die Eigenschaft .Value nicht. So sollte es gehen:
For each element in ArrayIn
element.Value2 = 1 '...
next element
Und weiter unten müsstest Du, falls ein Fehler kommt, schreiben:
Set test = ArrayIn
Gruß,
Matthias
Anzeige
AW: Range als Rückgabewert???
07.01.2004 16:24:13
Ulrich
Hallo,
natürlich muss es element.Value2 = 1, ... lauten.
Zur weiteren Erläuterung:
(Anwendung: =ZÄHLENWENN(RundeAufGanzeZahl(A1:A6);"=1"))
Ich möchte den Inhalt eines Bereichs runden (ohne diese
gerundeten Werte in die Tabelle zu schreiben) und diesen
Bereich zur weiteren Verarbeitung bereitstellen.
Mfg,
Ulrich
Anzeige
Ohne UDF
07.01.2004 16:44:17
Martin Beck
Hallo Ulrich,
dazu brauchst Du keine benutzerdefinierte Funktion, folgende Matrixformel tut's auch:
=SUMME(1*(RUNDEN(A1:A6;0)=1))
Eingabe mit STRG-SHIFT-ENTER, nicht mit ENTER abschließen.
Gruß
Martin Beck
AW: Ohne UDF
07.01.2004 17:28:03
Ulrich
Hallo Martin Beck,
vielen Dank für den Tipp mit der Matrixformel. Das hilft
mir auf jeden Fall weiter.

Kann mir jetzt noch jemand sagen, weshalb die Zuweisung
"element.Value2 = 1" mit Anwendungs- oder objektdefinierter
Fehler (Fehlernummer 1004) endet?

Function GanzWerte(ByVal ArrayIn As Range) As Range
Dim element As Range
Dim antwort As Integer
On Error GoTo ErrorHandler:
For Each element In ArrayIn
element.Value2 = 1 'an Stelle von 1 Berechnung einfügen
Next element
Set GanzWerte = ArrayIn
Exit Function
ErrorHandler:
antwort = MsgBox(Err.Description & " " & Err.Number, 0, "Error")
Set GanzWerte = ArrayIn
End Function

Vielen Dank
Ulrich
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige