Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Eigene Funktion schreiben





Frage

Hallo Zusammen, ich würde mir gerne eine eigene Funktion in VBA schreiben. Und zwar so, dass ich diese wie jede andere Funktion in Excel verwenden kann. Die Funktion soll folgendes machen... Ich übergebe ihr max. 4 Parameter und min. 0 soll solange eine Zufallszahl generiert werden, bis eine dabei ist, die nicht der übergeben Zahl entspricht. Ein Beispiel: (Bei einem Bereich von 5 Zahlen) Zufallohne(1,3,0,0) zZahl= Zufallszahl aus bereich 1 bis 5 While ( zZahl==1 oder zZahl==3 oder......) zZahl= neue Zufallszahl; Rückgabe der Zufallszahl end Da ich nur JAVA Kenntnisse besitze, tu ich mich noch schwer mit der VBA Syntax... Wäre toll,wenn mir jemand helfen kann! Gruß

Antwort 1 von JoeKe

Hallo Jack,

versuch es mal so:

Option Explicit

Function zufall(zahl1 As Integer, zahl2 As Integer, _
zahl3 As Integer, zahl4 As Integer) As Integer
Dim wert As Integer
Application.Volatile
Do
wert = Int(Rnd * 10) + 1
Loop While wert = zahl1 Or wert = zahl2 Or wert = zahl3 Or wert = zahl4
zufall = wert
End Function


Gruß

JöKe

Antwort 2 von Flupo

Ich hab auch eine Lösung gebastelt:

Function zufallohne(ByVal Arg1, Arg2, Arg3, Arg4 As Integer)
zzahl = Int((6 * Rnd) + 1)    ´ Zufallszahl im Bereich von 1 bis 6
While zzahl = Arg1 Or zzahl = Arg2 Or zzahl = Arg3 Or zzahl = Arg4
    zzahl = Int((6 * Rnd) + 1)
Wend
zufallohne = zzahl
End Function


Aufruf dann z.B. mit:

Sub test()
zufall = zufallohne(1, 4, 0, 0)
End Sub


Antwort 3 von Jack123

Hey, vielen Dank!!!

Antwort 4 von Jack123

  • Zitat:
    Admininfo: bitte vermeide Mehrfachanfragen in verschiedenen, bzw. gleichen Gruppen. Siehe FAQ2.


  • Ich möchte kostenlos eine Frage an die Mitglieder stellen:


    Ähnliche Themen:


    Suche in allen vorhandenen Beiträgen: