AW: Teil löschen, wenn Nullbestand + Suche
21.01.2021 09:23:29
Werner
Hallo,
vor dem Filtern einfach prüfen, ob die Teilenummer im entsprechenden Bereich vorhanden ist oder nicht.
Sub teilesuchen()
Dim arrFarben, rgDaten As Range
Dim hilfsspalte As Range, cnt As Double, x As Long, str As String
Dim TeileNR
With Sheets("Inventarübersicht")
TeileNR = Sheets("Bestandsverwaltung").Range("D11").Value
Set hilfsspalte = .Cells(1, .Cells(1, Columns.Count).End(xlToLeft).Column + 2)
Set rgDaten = .Range("A1:D9")
If WorksheetFunction.CountIf(rgDaten, TeileNR) > 0 Then
rgDaten.Cells(1).AutoFilter Field:=2, Criteria1:="=" & TeileNR, Operator:=xlAnd
.UsedRange.Columns(4).SpecialCells(xlCellTypeVisible).Copy hilfsspalte
hilfsspalte.CurrentRegion.RemoveDuplicates Columns:=Array(1), Header:=xlYes
With WorksheetFunction
arrFarben = .Transpose(hilfsspalte.CurrentRegion.Resize(hilfsspalte _
.CurrentRegion.Rows.Count - 1).Offset(1))
End With
For x = LBound(arrFarben) To UBound(arrFarben)
cnt = WorksheetFunction.SumIfs(rgDaten.Columns(3), rgDaten.Columns(2), _
TeileNR, rgDaten.Columns(4), arrFarben(x))
str = str & IIf(str = "", "", vbCr) & cnt & " mal " & arrFarben(x)
Next x
MsgBox str
.ShowAllData
hilfsspalte.EntireColumn.Delete
Else
MsgBox "Die Teilenummer " & TeileNR & " ist nicht vorhanden."
End If
End With
End Sub
Gruß Werner