ich versuche schon seit Tagen folgende Formel:
=WENNFEHLER(INDEX(Baugruppen!$B$2:$B$24;KGRÖSSTE((Baugruppen!$A$2:$A$24=$E$18)*(ZEILE( _
Baugruppen!$A$2:$A$24)-1);ZÄHLENWENN(Baugruppen!$A$2:$A$24;$E$18)+1-ZEILE(Baugruppen!A1)));"")
per "Knopfdruck" via VBA in einem formatierten Tabellenbereich zu schreiben:
Sub Artikel_holen()
Dim adr As Range
Dim Anz As Integer
Dim baugruppe_suche As String
With ActiveSheet.Shapes(Application.Caller).TopLeftCell
If Not .ListObject Is Nothing Then
Application.ScreenUpdating = False
With .ListObject.Range
baugruppe_suche = .Cells(1, 2)
Group_Ungroup False
Set adr = Worksheets("Baugruppen").Range("A:A")
Anz = Application.WorksheetFunction.CountIf(adr, baugruppe_suche)
MsgBox Anz
For i = 1 To Anz - 1
.Cells(2 + i, 2).FormulaArray = "=IFERROR(INDEX(bgB,LARGE((bgA=" & _
baugruppe_suche & ")*(ROW(bgA)-1),COUNTIF(bgA," & baugruppe_suche & ")+1-ROW(Baugruppen!A1))),"")"
.Cells(2 + i, 5).FormulaArray = "=IFERROR(INDEX(bgB,LARGE((bgA=" & _
baugruppe_suche & ")*(ROW(bgA)-1),COUNTIF(bgA," & baugruppe_suche & ")+1-ROW(Baugruppen!A1))),"")"
.Rows(.Rows.Count - 1).Copy
.Rows(.Rows.Count).Insert
Next i
Group_Ungroup True
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End If
End With
End Sub
Leider erhalte ich folgende Fehlermeldung:
Laufzeitfehler '1004':
Die FormulaArray-Eigenschaft des Range-Objekts kann nicht festgelegt werden.
Die Datei findet ihr hier: https://www.herber.de/bbs/user/95957.xlsm
Vielleicht hat ja jemand eine Idee, was ich falsch mache. Ich bin kurz davor, die Sache aufzugeben ;)