bräuchte eure Hilfe. Ich möchte diese Formel
=INDEX(MyTable!$A$1:$AZ$2000;SUMMENPRODUKT((MyTable!$A$1:$AZ$2000=$A2)*ZEILE(MyTable!$1:$2000)); _
_
SUMMENPRODUKT((MyTable!$A$1:$AZ$2000="Kommentar")*SPALTE(MyTable!$A$1:$AZ$2000)))
mit Variablen in VBA haben. Diese Formel funktioniert auch. In VBA wird jede Zelle im gefilterten Bereich angepesprochen. Meine VBA Version der Formel lautet wie folgt:
rngArea.Cells(lngRow, 1).Offset(0, 24).Formula = "=INDEX([" & _
filename & "]MyTable!A1:AZ2000;SUMPRODUCT(([" & filename & "]MyTable!A1:AZ2000=" & _
rngArea.Cells(lngRow, 1) & ")*ROW([" & filename & "]MyTable!1:2000)); _
SUMPRODUCT(([" & filename & "]MyTable!A1:AZ10=""Kommentar"")* _
COLUMN([" & filename & "]MyTable!A1:AZ10)))"
Wo ist mein Denkfehler? (Die Umbrüche habe ich manuell hier eingetragen)
Die Schleife bzw. der Code funktioniert, wie es soll, nur die Formel nicht.
For i = 0 To UBound(KSwb, 1)
filename = KSwb(i)
If filename "" Then
Set KSwb(i) = Workbooks.Open(TWBPfad & "\" & filename, UpdateLinks:=0)
Sheets(1).Name = "MyTable"
ThisWorkbook.Activate
Sheets(1).Activate
ersteZeile.AutoFilter Field:=1, Criteria1:= _
"*" & CC(i) & "*"
With Sheets(1).UsedRange
Set rngFilter = .Offset(2, 1).Resize(.Rows.Count - 2, 1) _
.SpecialCells(xlCellTypeVisible)
End With
For Each rngArea In rngFilter
For lngRow = 1 To rngArea.Rows.Count
rngArea.Cells(lngRow, 1).Offset(0, 24).Formula = "=INDEX([" & _
filename & "]MyTable!A1:AZ2000;SUMPRODUCT(([" & filename & "]MyTable!A1:AZ2000=" &_
rngArea.Cells(lngRow, 1) & ")*ROW([" & filename & "]MyTable!1:2000)); _
SUMPRODUCT(([" & filename & "]MyTable!A1:AZ10=""Kommentar"")*COLUMN([" & filename & "]MyTable! _
A1:AZ10)))"
Next lngRow
Next rngArea
Else
MsgBox "Die Datei " & CC(i) & " wurde nicht gefunden"
End If
Next i
Vielen Dank