In VBA Matrixformel verwenden
24.10.2019 14:22:03
Frank
vielleicht kann mir jemand helfen und sagen, wo der Fehler liegt.
Ich versuche in VBA eine Matrixformel zu berechnen und das Ergebnis in einer Variable abzulegen.
Die Formel soll in einem Bereich die Anzahl der Zellen ausgeben, in denen der Teilstring "Frank" enthalten ist.
In Excel sieht die Formel so aus und funktioniert:
{=SUMME(ISTZAHL(FINDEN(C1;A1:A10))*1)}
In VBA habe ich es mit diesen beiden Konstrukten versucht:
Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim ChRange As Range, isect As Range, ws As Worksheet, sName As String, AnzsName As Integer, _
rng As Range, s As Integer, thisws As Worksheet
Set ChRange = Range("B2")
Set isect = Application.Intersect(Target, ChRange)
If Not (isect Is Nothing) Then
Set thisws = ActiveSheet
sName = Target.Value
AnzsName = 0
s = 0
For Each ws In Sheets
If ws.Name thisws.Name Then
Set rng = ws.Range("A1:A10")
' =SUMME(ISTZAHL(FINDEN(C1;A1:A10))*1)
' s.FormulaArray = "Sum(IsNumeric(rng.Find(What:=sName.Value)) * 1)"
s = FormulaArray = "Sum(IsNumeric(rng.Find(What:=sName.Value)) * 1)"
AnzsName = AnzsName + s
s = 0
End If
Next ws
thisws.Cells(2, 5) = s
End If
End Sub
Gruß Frank
https://www.herber.de/bbs/user/132724.xlsm