• 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.

Als cel N4 is bepaalde waarde dan cel O4 wissen

Status
Niet open voor verdere reacties.

corvdh

Gebruiker
Lid geworden
29 aug 2010
Berichten
128
Kan ik via voorwaardelijke opmaak het volgende doen?

Als er in cel N4 het getal 1, 2, 3 of 4 word getypt dat dan automatisch cel O4 word gewist.
Bij andere invoer in cel N4 moet de inhoud van cel O4 behouden blijven.
 
Wat bedoel je met wissen?
Je kan zonder VBA geen cel wissen onder invloed van een andere cel.
Je kan wel het gegeven verbergen(wit kleuren) of in je formule verwerken in een ALS-constructie.
 
Code:
=OF(N4=1;N4=2;N4=3;N4=4)
selecteer cel O4
kies bij VW een formule gebruiken om te bepalen welke cellen worden opgemaakt

kies als opmaak bij lettertype de kleur wit als er dan een 1 tot 4 in cel N4 getypt wordt zie je niks in cel O4
 
Met VO is de cel niet gewist(zoals gevraagd) maar enkel onzichtbaar.
 
De cel echt leeg maken zou het beste zijn, maar als dat niet kan dan is het jammer.
Als het wel mogelijk was geweest dan had ik de voorwaardelijke opmaak willen doortrekken t/m regel 1200.
Ik heb via een macro de rijen om en om met een achtergrondkleur blauw en wit opgemaakt en dan word het lastig om de cellen van regel 4 t/m 1200 voorwaardelijk op te maken.
bij de oneven rijen zal dan altijd de tekst zichtbaar blijven.

Code:
Sub Celopmaak()
'
'
'
  
    Range("A4:P1200").Select
       Dim Counter As Integer
    For Counter = 1 To Selection.Rows.Count
        If Counter Mod 2 = 0 Then
            Selection.Rows(Counter).Interior.Color = RGB(221, 232, 255)
        End If
    Next
    For Counter = 1 To Selection.Rows.Count
        If Counter Mod 2 = 1 Then
            Selection.Rows(Counter).Interior.Color = RGB(255, 255, 255)
        End If
        Next
    Range("F" & Range("F" & Rows.Count).End(xlUp).Row + 1).Select
   
End Sub
Kan dat wat ik wil niet met een macro gedaan worden?
zoiets als hier onder, maar dan voor regels N en O4 t/m N en O1200
Code:
Sub Cel_wissen()

 intTotaal = ActiveSheet.Range("N4").Value
    If intTotaal < 5 Then
   Range("O4") = ""
   End If

 End Sub
 
Kun je hier wat mee?

Code:
Sub Celopmaak()
Dim Counter As Integer

 Application.ScreenUpdating = False
   With ActiveSheet
    sq = "1|2|3|4"
    
    For Counter = 4 To 1200

        If Not InStr(sq, CInt(.Cells(Counter, 14))) = 0 Or .Cells(Counter, 14) = "" Then .Cells(Counter, 15) = ""
      Cells(Counter, 1).Resize(, 16).Interior.Color = IIf(Counter Mod 2 = 0, RGB(221, 232, 255), RGB(255, 255, 255))
     Next
  
   End With
 Application.ScreenUpdating = True
End Sub
 
en als je het stukje cel wissen apart wilt gebruiken
Code:
Sub Cel_wissen()
With ActiveSheet
    sq = "1|2|3|4"
  For Each cl In Columns(14).SpecialCells(2)
  If Not InStr(sq, CInt(cl)) = 0 Or cl = "" Then cl.Offset(, 1) = ""
   
  Next
 End With
End Sub
 
Ik heb de macro Wissen geprobeerd, maar krijg dan de volgende fout melding:

Fout 13 typen komen niet met elkaar overeen.
Na het klikken op Foutopsporing word de volgende tekst in de macro geel gemarkeerd: If Not InStr(sq, CInt(cl)) = 0 Or cl = "" Then

Als het mogelijk is om deze fout te verhelpen dan zou het daarna leuk zijn als de macro automatisch start bij invoer van een getal 1 t-m 4 in kolom N (cel 4 t-m 1200)
Nu heb ik een knop ingevoegd op het werkblad waar ik dan op klik om de macro te starten.
 
helpt dit?
Code:
Sub Cel_wissen()
Dim sq
On Error Resume Next
With ActiveSheet
    sq = "1|2|3|4"
  For Each cl In Columns(14).SpecialCells(2)
  If Not InStr(sq, cl) = 0 Or cl = "" Then cl.Offset(, 1) = ""
   
  Next
 End With
End Sub
 
als de fout nr 13 opgelost is dan met onderstaande code auto cel wissen
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("N4:N1200")) Is Nothing Then
    Call Cel_wissen
  End If
End Sub
 
Laatst bewerkt:
Hallo Pasan,

Ik heb je aangepaste macro en die voor het automatisch wissen gebruikt en alles werkt.
Dit was nou net wat ik zocht.

Bedankt.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan