• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

IIf-instructie

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
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).
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]
Kan iemand me helpen?
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

  • Voorraadbeheer (Koe-Vert1).xlsb
    70,5 KB · Weergaven: 27
Laatst bewerkt:
Werkt het als er een punt voor staat?
Code:
    For Each c In [COLOR=#FF0000].[/COLOR]Range("J2:J500")
 
Hey Jack,
Zonder punt werkt de code om de rij en de tekst te kleuren en te ontkleuren.
Ik veronderstelde dat dan de code om (X) weg te halen ook zou werken.
Ga het gelijk eens proberen met punt.
Bedankt voor de reactie.
 
Werkt het als je .Value gebruikt bij de vergelijking? Nu vergelijk je volgens mij niet de waarden.
 
Hallo SjonR,
Ik heb een foutieve commentaarregel geplaatst in de code (zonder.Value)
Ik heb #1 aangepast
Toen het misliep, had ik de juiste coderegel gebruikt (dus met .Value)
Dus daaraan ligt het ook niet.
Dank voor reactie.
 
Laatst bewerkt:
Ik kreeg het probleem maar niet opgelost.
Daarom heb ik het op een andere manier geprobeerd.
En gelukt.
Dank aan al wie meegezocht heeft.
 

Bijlagen

  • Voorraadbeheer (Koe-Vert).xlsb
    77,7 KB · Weergaven: 25
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan