Voorraadbeheer.
Als een artikel in bestelling is, verschijnt in kolom G een kruisje.
Als de voorraad opgehoogd wordt, omdat de bestelling aangekomen is, zou dat kruisje in kolom G moeten verdwijnen.
In de code staat onderaan een rode regel, maar die werkt niet (excel blokkeert zelfs).
Kan iemand me helpen?
Als een artikel in bestelling is, verschijnt in kolom G een kruisje.
Als de voorraad opgehoogd wordt, omdat de bestelling aangekomen is, zou dat kruisje in kolom G moeten verdwijnen.
In de code staat onderaan een rode regel, maar die werkt niet (excel blokkeert zelfs).
Code:
'Code om kruisje weg te halen als voorraad >= minimum
[COLOR="#FF0000"]'c.Offset(, -3).Value = IIf(c.Offset(, -7).Value >= c.Offset(, -2).Value, "", "X")[/COLOR]
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
'Maak blad 2 leeg
Sheets(2).Range("A2:E" & Cells(Rows.Count, 1).End(xlUp).Row + 1).ClearContents
'Scroll naar artikel nr. in M1
If Intersect(Target, Cells(1, 13)) Is Nothing Then GoTo einde
If Sheets(1).Cells(1, 13) = "" Then
With ActiveSheet.UsedRange.Columns(1)
ActiveWindow.ScrollRow = .Find(Cells(1, 1), , , , 1, , xlValues, xlWhole).Row
Sheets(1).Cells(1, 13).Select
End With
Else
With ActiveSheet.UsedRange.Columns(1)
ActiveWindow.ScrollRow = .Find(Cells(1, 13), , , , 1, , xlValues, xlWhole).Row
Sheets(1).Cells(1, 13).Select
End With
End If
einde:
With Sheets(1)
.AutoFilterMode = False
With .Range("A1").CurrentRegion
.AutoFilter 7, "=" 'Criteria 1 niets in kolom besteld
.AutoFilter 10, "<>0" 'Criteria 2 kolom bestellen <>0
If .Columns(1).SpecialCells(xlVisible).Count > 1 Then 'zijn er te bestellen (koprij niet meetellen)
.Columns("E:I").Hidden = True 'Kolommen 5 - 9 verbergen
.Offset(1).Resize(, 10).SpecialCells(xlVisible).Copy 'Alle zichtbare cellen in eerste 4 kolommen (zonder koprij) gecopieerd
Sheets(2).Cells(500, 1).End(xlUp).Offset(1).PasteSpecial xlValues 'In blad Bestellingen als waarde neerzetten
.Columns("E:I").Hidden = False 'Kolommen 5 - 9 terug zichtbaar
End If
End With
.AutoFilterMode = False
Application.CutCopyMode = False
'Code om regels te kleuren
For Each c In Range("J2:J500")
c.Offset(, -9).Resize(, 10).Interior.ColorIndex = IIf(c <> 0, 3, 3) 'Cel C <> 0 regel rood
c.Offset(, -9).Resize(, 10).Font.ColorIndex = IIf(c <> 0, 2, 1) 'Cel C <> 0 tekst wit
c.Offset(, -9).Resize(, 10).Interior.ColorIndex = IIf(c = 0 Or IsEmpty(c), xlNone, 3) 'Cel C = 0 of leeg, geen kleur
'Code om kruisje weg te halen als voorraad >= minimum
[COLOR="#FF0000"]'c.Offset(, -3).Value = IIf(c.Offset(, -7).Value >= c.Offset(, -2).Value, "", "X")[/COLOR]
Next
End With
Application.ScreenUpdating = True
End Sub
Bijlagen
Laatst bewerkt: