Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1152to1156
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
Inhaltsverzeichnis

Object kopieren

Object kopieren
Jörg
Hallo zusammen,
ich habe ein Problem beim kopieren einer Variable vom Datentyp Object

Public Function test() as object
dim hilfswert() as object
redim hilfswert(1 to 10)
for i = 1 to 10
'hilfswert(i) bekommt eine ArrayList zugeordnet
next i
'jetzt soll hilfswert dem Rückgabewert test zugewiesen werden
'1. Versuch: funktioniert nicht
set test = hilfswert
'2.Versuch: hierbei wird die Function test wieder aufgerufen
for i = 1 to 10
set test(i) = hilfswert(i).clone()
next i
End Function

Wie weise ich den Rückgabewert richtig zu?
Danke
Jörg

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Objekt liefernde Funktion
18.04.2010 21:51:11
Luc:-?
Hi, Jörg;
1. Was ist/sind das für (ein) Objekt(e)?
2. Wie sieht die „ArrayList“ aus?
3. Eine Fkt kann nur eine Referenz auf (ein) Objekt(e) liefern, nicht das Objekt selbst!
Gruß Luc :-?
AW: Objekt liefernde Funktion
18.04.2010 22:20:38
Jörg
Hi,
ein Item einer ArrayList ist vom Typ Integer. Ich habe also eine Array von ArrayLists, die wiederrum Integerwerte beinhalten.
Ich möchte halt nach dem Funktionaufruf, der in etwa so aussehen sollte:
set rückgabe = test
auf die Integerwerte mit rückgabe(i).Item(j) zugreifen.
Ich hoffe es ist klarer, was gemeint ist.
Jörg
AW: Objekt liefernde Funktion
18.04.2010 23:31:44
Gerd
Hi,
zeige deine Schlaufe ganz.
Sub beispiel_start()
Dim Meine_objekte() As Object
Meine_objekte = geheimer_test
MsgBox Meine_objekte(2).Cells(1, 1).Address(external:=True)
End Sub
Public Function geheimer_test() As Variant
Dim i As Integer
Dim hilfswert(1 To 3) As Object
For i = 1 To 3
Set hilfswert(i) = Sheets(i)
Next i
test = hilfswert
End Function
Gruß Gerd
Anzeige
AW: Objekt liefernde Funktion
19.04.2010 00:25:30
Jörg
Hallo,
die ganze Schleife anzugeben ist wohl nicht drin. Das wird zuviel.
Kann ja mal kurz beschreiben was ich mache, dass ganze ist ein Teil eines größeren Programms.
Innerhalb der Schleife wird eine ArrayList bearbeitet. Diese wird erstmal per clone()-Methode aus einem Array, das Referenzen von ArrayLists enthält, initialisiert. Dann werden Items per removeat-Methode gelöscht und drei selbstgeschriebene Methoden angewendet, die jeweils eine ArrayList zurückgeben.
Am Ende der Schleife wird die per set array(i) = arraylist.clone() die ArrayList Referenz in ein Array gespeichert.
Das klappt auch alles.
Zum Schluss habe ich ein Array, welches die Referenzen von 10 ArrayLists beinhaltet, die wieder aus Integer-Werten bestehen. Dieses Array möchte ich als Rückgabewert meiner Funktion festlegen. Die Anweisung Funktionsname = Arrayname funktioniert nicht.
Warum ist dafür der genaue Schleifeninhalt von Interesse?
Danke
Anzeige
Weil wir wissen wollten, ob es sich tatsächlich...
19.04.2010 05:02:02
Luc:-?
…um Objekte im xl/vb-Sinn handelt, Jörg,
sonst wird das nämlich nichts!
Morrn, Luc :-?
AW: Weil wir wissen wollten, ob es sich tatsächlich...
19.04.2010 08:40:10
Jörg
Guten Morgen,
es scheint sich um Objekte im xl/vb-Sinn zu handeln. Der Fehler lag in der Deklaration der Funktion test.
Wenn ich ein Array vom Typ Object als Rückgabewert möchte, funktioniert folgendes nicht:
Public Function test() as object
Mit
Public Function test() as object()
läuft das Programm.
Manchmal tut ne Runde Schlaf richtig gut :-)
Danke für eure Hilfe
Jörg
Na also, geht doch... Gruß owT
19.04.2010 14:43:53
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige