Hi!
Ich habe eine VBA Funktion, diese erhält als Eingabe neben einige Variablen auch einen range, sagen wir so:
Test(Wert1 as double, Wertebereich as range)
Die Funktion über Excel anzusprechen ist gar kein Problem (ich gebe die Zelle für Wert1 und einen Zellbereich für „Wertebereich“ ein.
Nun möchte ich die Funktion über VBA ansprechen (in einer anderen Funktion aufrufen), wie und was muss ich der Funktion an 2. Stelle übergeben.
Was muss ich also an Stelle der … schreiben?
Ergebnis= Test(Variable1, …)
Worksheet(„Tabelle1“).range(a1,a3) oder Angabe eines Arrays sowie diverse Variation von ersterem sind alle gescheitert
Hat jemand einen Tipp, danke!
beste Grüße
Phil
Test(Wert1 as double, Wertebereich as range)
Die Funktion über Excel anzusprechen ist gar kein Problem (ich
gebe die Zelle für Wert1 und einen Zellbereich für
„Wertebereich“ ein.
Nun möchte ich die Funktion über VBA ansprechen (in einer
anderen Funktion aufrufen), wie und was muss ich der Funktion
an 2. Stelle übergeben.
Hallo Phil,
Option Explicit
Sub tt()
Dim Ergebnis As Long
Ergebnis = Test(12, Range("A1:C4"))
MsgBox "12 kam im Bereich " & Ergebnis & " mal vor."
End Sub
Function Test(Wert1 As Double, Wertebereich As Range) As Long
Dim Zelle As Range
For Each Zelle In Wertebereich
If Zelle.Value = Wert1 Then Test = Test + 1
Next Zelle
End Function
Gruß
Reinhard