Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Array als Funktionsparameter

Betrifft: Array als Funktionsparameter von: Siegfried
Geschrieben am: 10.09.2004 15:30:12

Hallo!
Ich habe ein Programm geschrieben, die mit Arrays arbeitet.
dim str1(20) as String. Der Algorithmus funktioniert, aber ich möchte ihn in eine Funktion packen. Die Parameterübergabe des Arrays (per Referenz) an die Funktionn funktioniert nicht!
Gibt es da eine besimmte Konvention ?
Danke!
Siegfried

dim str1(20) as String

public

Function x( str(20) as string ) as Boolean
str(1) ="test"

End Function

  


Betrifft: AW: Array als Funktionsparameter von: harry
Geschrieben am: 10.09.2004 15:49:21

hi,
weiss nicht genau, ob ich dich richtig verstnden habe aber: guckst du hier :-)
https://www.herber.de/bbs/user/10761.xls

code ist in modul1
liebe grüße,
harry


  


Betrifft: AW: Array als Funktionsparameter von: Siegfried
Geschrieben am: 10.09.2004 15:54:24

Danke das funktioniert, aber ich möchte globale Variablen
vermeiden d.h. das array sollte as parameter übergeben werden - was bei mir nicht funktioniert!

Trotzdem Danke!

Siegfried


  


Betrifft: AW: Array als Funktionsparameter von: harry
Geschrieben am: 10.09.2004 15:58:34

liegts eventuell daran, dass du zwei verschiedene str() verwendest? str1() und str() oder hast dich da nur im thread vertippt?


  


Betrifft: AW: Array als Funktionsparameter von: Siegfried
Geschrieben am: 10.09.2004 16:07:11

Ja das war ein tippfehler, ich kann meine testfunktion (siehe unten) gar nicht fehlerfrei
compilieren (Excel 97) es wird nach einer Übergabe byRef verlangt, aber ich kenne wiegesagt die Konvention nicht!

Danke Siegfried

Private Sub CommandButton1_Click()

    Dim str1(20) As String
    str(1) = ""
    sort (str1)
End Sub


Sub sort(ByRef x As String)
x(1) = "test"
End Sub


  


Betrifft: AW: Array als Funktionsparameter von: harry
Geschrieben am: 10.09.2004 16:33:24

muss mich da jetzt ausklinken, aber:
Private Sub CommandButton1_Click()
    Dim str1(20) As String
    str(1) = ""
    sort (str1)
End Sub


da sind meiner meinung nach sind 2 variablen: str1 und str

mit
Private Sub CommandButton1_Click()

    Dim str(20) As String
    str(1) = ""
    sort (str(1))
End Sub



Sub sort(ByRef x As String)
x(1) = "test"
End Sub

kommt bei mir in der sub sort eine fehlermeldung, weil da das datenfeld fehlt.

hoffe, es kann dir jemand besser weiterhlfen.


  


Betrifft: AW: Array als Funktionsparameter von: Nepumuk
Geschrieben am: 10.09.2004 21:48:33

Hallo Siegfried,
wenn du die Sub ohne Call aufrufst, dann musst du die Klammern um die Parameter weglassen.


Private Sub CommandButton1_Click()
    Dim str1(20) As String
    str1(1) = ""
    sort str1()
End Sub

Sub sort(ByRef x() As String)
    x(1) = "test"
End Sub


Gruß
Nepumuk


  


Betrifft: AW: Array als Funktionsparameter von: Siegfried
Geschrieben am: 13.09.2004 16:10:44

Hallo Nepumuk,

ich habe Deinen Vorschlag gerade getestet, das wars!

Danke
Siegfried