Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
444to448
444to448
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Benutzerfunktion, Range zurückgeben, ohne Argument

Benutzerfunktion, Range zurückgeben, ohne Argument
29.06.2004 12:37:45
Christian
Hallo,
ich habe ein kleines Problem, ich habe es bereits mit eurer Hilfe geschafft einen Bereich von Zellen in einen anderen zu kopieren und dabei mit 3 zu multiplizieren.
Allerdings klappt die einfacherer Variante nicht, also einfach eine Benutzerfunktion die z.B. eine Range zurückliefert, die alle Werte als 5 hat, nur KEINE ARGUMENTE braucht.
Beispiele:
Mal 3 nehmen klappt:

Function test(xRange As Range)
Dim xArray2D()
Dim x As Integer, y As Integer
xArray2D = xRange
For x = LBound(xArray2D, 1) To UBound(xArray2D, 1)
For y = LBound(xArray2D, 2) To UBound(xArray2D, 2)
xArray2D(x, y) = xArray2D(x, y) * 3
Next y
Next x
test = xArray2D
End Function

Eine Zelle auf 999 setzen geht auch

Function test(xRange As Range)
Dim xArray2D()
xArray2D = xRange
xArray2D(1,1) = 999
test = xArray2D
End Function

Nicht klappen tut (super deutsch)

Function test()
Dim xArray2D()
xArray2D(1, 1) = 99
test = xArray2D
End Function

Habs auch schon mit leerer Range versucht usw..
Das Problem ist, das ich ohne die übergebene Range das richtige Format für das Array irgendwie nicht hin bekomme, bin für tips, vor allem ein kurzes Beispiel dankbar....

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerfunktion, Range zurückgeben, ohne Argument
Josef
Hallo Christian!
ohne den Sinn zu sehen,

Function test()
Dim xArray2D(0, 0)
xArray2D(0, 0) = 99
test = xArray2D(0, 0)
End Function

aber dann kann ich auch einfach 99 in die Zelle schreiben!
Gruß Sepp
Danke, das wars..
29.06.2004 12:54:42
Christian
Danke, der Sinn ist so natürlich nicht ersichtlich, aber jetzt habe ich ein funktionierendes Grundgerüst mit dem ich rumprobieren kann...
Hatte nur die Dimensionen des Arrays vergessen, daher hat es nicht geklappt..
Es waren wieder mal nur 4 Zeichen..
Dim XArray2D
statt
Dim XArray2D(0,0)
Danke nochmal
AW: Benutzerfunktion, Range zurückgeben, ohne Argument
Hans
Eine Funktion ohne Argumente ist flüchtig und rechnet nur genau einmal. Was soll sie auch berechnen, wenn Argumente, deren Änderung eine Neuberechnung auslösen, fehlen...
Such mal im Archiv nach Application.Volatile und lass die Fingen davon!
Gruß HW
Anzeige

232 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige