Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1024to1028
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

Function über String-Array aufrufen

Function über String-Array aufrufen
19.11.2008 09:46:37
Michael
Hallo zusammen,
ich hoffe, die Überschrift beschreibt das Problem einigermaßen... :)
Ich möchte verschiedene Functions aufrufen, deren Namen in einem Array gespeichert sind. Leider ist mir die VBA-Hilfe keine Hilfe und nun hoffe ich auf euch! Desweiteren muss ich Variablen übergeben.
Ich habe einen kleinen Beispielcode geschrieben, um das Problem zu verdeutlichen:
Option Explicit
Dim a As Double
Dim b As Double

Public Sub Hallo()
Dim strName(2) As String
Dim c As Long
a = 1
b = 2
strName(0) = "test1"
strName(1) = "test2"
strName(2) = "test3"
For c = 0 To UBound(strName)
call strname(c) (a,b)
Next c
End Sub


' RECIKAPPA, CWPIRG,KFMIOP


Private Function test1(ByVal a1 As Double, ByVal b1 As Double) As Double
test1 = a1 + b1
End Function



Private Sub test2(ByVal a2 As Double, ByVal b2 As Double)
MsgBox (a2 & " " & b2)
End Sub



Private Sub test3(ByVal a3 As Double, ByVal b3 As Double)
a3 = a3 + b3
MsgBox (a3)
End Sub


Ich hoffe, ihr könnt mir bei dem Problem helfen!
Danke und Gruß
Micha

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

Betreff
Datum
Anwender
Anzeige
AW: Function über String-Array aufrufen
19.11.2008 09:59:00
Luschi
Hallo Micha,
damit sollte Dir geholfen sein:

For c = 0 To UBound(strName)
Application.Run strName(c), a, b
Next c

Gruß von Luschi
aus klein-Paris

AW: Function über String-Array aufrufen
19.11.2008 10:15:00
Michael
Funktioniert super!
Vielen Dank! Damit hast du einiges Kopfzerbrechen beendet! :)
Gruß
Micha
AW: Function über String-Array aufrufen
19.11.2008 10:21:00
Erich
Hallo Micha,
was passiert eigentlich mit dem Ergebnis der Fkt. test1? Das wird berechnet, verschwindet aber bisher im Nirwana.
Probier mal

Option Explicit
Public Sub Hallo()
Dim strName(2) As String
Dim a As Double
Dim b As Double
Dim c As Long
a = 7
b = 8
strName(0) = "test1"
strName(1) = "test2"
strName(2) = "test3"
For c = 0 To UBound(strName)
MsgBox Application.Run(strName(c), a, b) & " in Hallo"
Next c
End Sub
Private Function test1(ByVal a1 As Double, ByVal b1 As Double) As Double
test1 = a1 + b1
End Function
Private Sub test2(ByVal a2 As Double, ByVal b2 As Double)
MsgBox a2 & " " & b2 & " in test2"
End Sub
Private Sub test3(ByVal a3 As Double, ByVal b3 As Double)
a3 = a3 + b3
MsgBox a3 & " in test3"
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Function über String-Array aufrufen
19.11.2008 10:26:00
Michael
Hallo Erich,
ich habe auf die Schnelle natürlich wieder versucht, alle Probleme (Sub- und Function-Aufruf) mit einmal zu erschlagen. Das funktioniert so natürlich nicht. :)
Im eigentlichen Code werden auch nur Functions aufgerufen, so dass hier die Zeile "back = Application.Run(strName(c), a, b)" notwendig ist. Funktioniert jetzt auch alles wunderbar!
Nochmals Danke!
Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige