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

loop voor excel in VBA

Status
Niet open voor verdere reacties.

marlies1981

Gebruiker
Lid geworden
5 feb 2013
Berichten
10
er klopt iets niet in m'n loop.
Zou er iemand kunnen helpen?

iets klopt er niet in mijn loop kan iemand helpen?

Code:
End With

 Dim i As Integer
 For i = 4 To 2000
 Do Until i = 2000
 Cel("C")i.Select
 Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
 Formula1:="=$H$i"
 Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
 With Selection.FormatConditions(1).Interior
 .PatternColorIndex = xlAutomatic
 .Color = 65535
 .TintAndShade = 0
 End With
 Selection.FormatConditions(1).StopIfTrue = False
 Exit Do
 Loop
 Next
 
Range("C4:C2000").Select
 
Laatst bewerkt door een moderator:
Denk dat uw loop al stopt na de eerste cel?
Dan kan dit de boosdoener zijn

Code:
Exit Do

Deze is, voor zover ik kan zien, niet gebonden aan een voorwaarde.
Mvg.
 
Volgens mij blijf je in de lus hangen, je hebt een dubbele loop er in zitten
For i = 1 to 2000 is al een loop.
Daarna zeg je do until i = 2000
Deze blijft constant doorgaan omdat i niet hoger wordt, deze moet je weg halen en zo ook de exit do en loop.

Cel("c")i moet zijn cells(i,"c")
De select heb je ook niet nodig, dit kan zonder, kijk naar verschillende voorbeelden op deze site.

Gelieve de codetags # te gebruiken.
Niels
 
Laatst bewerkt:
aangepast naar:
Code:
Dim i As Integer
    For i = 4 To 2000
    Cells(i, "C").Select
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
    Formula1:="=$H$i"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Interior
    .PatternColorIndex = xlAutomatic
    .Color = 65535
    .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    Next
nu krijg ik een foutmelding op:

Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
Formula1:="=$H$i"
 
Laatst bewerkt door een moderator:
Waarom de VO via VBA bewerkstelligen?
Je hoeft overigens geen lus te gebruiken.

Code:
With Range("C4:C2000")
    .FormatConditions.Add xlCellValue, xlNotEqual, "=$H" & .Row
    .FormatConditions(1).Interior.Color = vbYellow
End With

Met vriendelijke groet,


Roncancio
 
Deze werkt perfect.

Hartelijk dank

Nu verliest hij wel m'n voorwaardelijke opmaak
 
Laatst bewerkt:
Waarom veranderd mijn voorwaardelijke opmaak na het uitvoeren van de macro nu naar cel =$C$1850:$C$2000 i.p.v. op=$C$4:$C$2000 bij cel =$C$4:$C$2000 zegt hij "geen opmaak ingesteld"
 
Staan er meerdere VO in het bereik?

Hoe dan ook, nu met lus.
Code:
Dim lRij As Long
    For lRij = 4 To 2000
        With Range("C" & lRij)
        .FormatConditions.Add xlCellValue, xlNotEqual, "=$H$" & lRij
        .FormatConditions(.FormatConditions.Count).Interior.Color = vbYellow
        End With
    Next

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan