Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
328to332
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
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Problem bei Übergabe eines Paramarrays

Problem bei Übergabe eines Paramarrays
28.10.2003 15:10:31
Christian
Hi Leute,

ich will eine Argumentenliste an eine Funktion übergeben. Leider klappt das ganze nicht so, wie ich es gerne hätte. Nachfolgend der VBC code.


Function ShowArglist(ParamArray SearchArray()) As Variant
Dim i As Integer
For i = 0 To UBound(SearchArray)
MsgBox SearchArray(i)
Next i
End Function



Sub main()
Dim argList As Variant
argList = Array("A", 7, 0)
ShowArglist "A", 7, 0
ShowArglist (argList)
End Sub


Das Problem:
============
Der erste Aufruf der Funktion ShowArglist mittels:
ShowArglist "A", 7, 0 klappt einwandfrei und liefert nacheinander die einzelnen Werte.

Der zweite Aufruf jedoch bricht mit einem Laufzeitfehler ab. Was mache ich falsch?
Weiss irgendjemand eine Lösung?

Danke und Gruss
Christian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Alles:-)
28.10.2003 15:15:46
Michael Scheffler
Hi,

eine Funktion liefert Dir EINEN Wert zurück. Was Du hier willst, ist ein weiters Sub!
Eine

Function sieht i.a. so aus:

Function AddiereZweiGanze(intA As Integer, intB As Integer) As Integer
AddiereZweiGanze = intA + intB
End Function


Aufruf erfolgt:


Sub Rufe()
Dim intSumme As Integer
intSumme = AddiereZweiGanze(1, 2)
End Sub


Gruß

Micha
AW: Alles:-)
28.10.2003 16:18:00
Christian
Hi Micha,

verstehe deine Hilfe nicht ganz. Ich übergebe doch ein Array an die Funktion ShowArglist. Innerhalb von ShowArglist lese ich die übergebenen Werte über eine Schleife aus und zeige sie über eine msgbox an.

Der Aufruf ShowArglist "A",7,0 funktioniert, während ShowArglist(argList) nicht funktioniert. Wer kann mir weiterhelfen?
Anzeige
Danke, hat sich erledigt
28.10.2003 16:34:12
Christian
Micha danke,
habe die Lösung gefunden.


Function ShowArglist(ParamArray SearchArray()) As Variant
Dim i As Integer
Dim arg, subarg As Variant
For Each arg In SearchArray
MsgBox TypeName(arg)
If TypeName(arg) = "Variant()" Then
For Each subarg In arg
MsgBox subarg
Next
End If
Next
End Function

AW: Danke, hat sich erledigt
28.10.2003 16:36:40
Michael Scheffler
Hallo Christian,

Du hast mich nicht verstanden: dafür ist eine Funktion nicht da. Das ist eine Aufgabe für ein Sub! Eine Funktiuon sollte einen Wert zurückgeben.


Sub ShowArglist(ParamArray SearchArray())
Dim i As Integer
Dim arg, subarg As Variant
For Each arg In SearchArray
MsgBox TypeName(arg)
If TypeName(arg) = "Variant()" Then
For Each subarg In arg
MsgBox subarg
Next
End If
Next
End Sub


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige