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

vba script lege cellen vullen

Status
Niet open voor verdere reacties.

moensk

Gebruiker
Lid geworden
23 jun 2013
Berichten
712
hoe moet ik bijgaand script aanvullen zodat hij de cellen vult met vandaag +2

Code:
Sub datum()
    For Each cl In Range("a2:a34")
    If cl.Value = "" Then 
    Next
End Sub
 
Dit:
Code:
Sub datum()
    For Each cl In Range("A2:A34")
        If cl.Value = "" Then cl.value = Date + 2
    Next
End Sub
 
Niet aanvullen, maar vervangen door:

Code:
 on error resume next
Range("a2:a34").specialcells(4)=date+2
 
Laatst bewerkt:
@ snb

Die vult geen cellen onderin het bereik als die leeg zijn.
 
kan even iemand script bekijken waarom "D5" niet gevuld wordt
alvast bedankt
 

Bijlagen

  • Astrow-Ipoess_hulp.xlsm
    79,4 KB · Weergaven: 23
Doe het eens zo:
 

Bijlagen

  • Kopie van Astrow-Ipoess_hulp.xlsm
    52,1 KB · Weergaven: 30
Laatst bewerkt door een moderator:
Edmoor,
in kolom C komen oudere datums voor, nu had ik deze graag gewijzigd gezien
indien datum in kolom C < vandaag -2 dan deze datum vervangen door vandaag-2
wilt gij daar even naar kijken
alvast bedankt
 
Zoiets:
Code:
Sub datum()
   For Each cl In Range("D2:D" & ActiveSheet.UsedRange.Rows.Count - 1)
       If cl.Value = "" Then cl.Value = Date + 2
      [COLOR="#FF0000"] If cl.Offset(, -1).Value < Date - 2 Then cl.Offset(, -1).Value = Date - 2[/COLOR]
   Next
End Sub
 
Edmoor,
kan u even kijken naar bijlage
< date - 2 loopt niet goed vele datums die > dan vandaag verandert hij ook
 

Bijlagen

  • Astrow-Ipoess.xlsm
    135,4 KB · Weergaven: 21
Er is er maar eentje > vandaag-2.
Die staat op regel 19. Daar staat uiterlijk 03-04-2019 mm-dd-yyyy
De datum in notatie dd-mm-yyyy is 04-03-2019 en die blijft ongemoeid.

Alle andere datums zijn < vandaag-2 en die worden dus gewijzigd.
 
Edmoor,
thanks, bij controle had ik niet naar jaartal gekeken, stom :)
 
Edmoor,
ik heb nu alles samengebracht onder 1 knop
voor lege cel naar datum : rij 106 niet bijgewerkt
< date - 2 : vanaf rij 88 niet meer bijgewerkt
heb het idee dat hij niet volledig kolom D afwerkt
 

Bijlagen

  • Astrow-Ipoess_1.xlsm
    378,7 KB · Weergaven: 82
Logisch. De macro wordt gestart op sheet samenvatting.
Dus ActiveSheet.UsedRange.Rows.Count - 1 geeft het aantal regels van die sheet terug, niet van ipoess.
 
oke - thanks,
Sheets("Ipoess").Activate toegevoegd en het werkt ...
 
Vermijd "select' en 'Activate' in VBA
 
snb
kunt gij even aangeven hoe dit dan beter/anders te doen
Code:
 'bijwerken Ipoess lege datum en begindatum < vandaag -2
    Sheets("Ipoess").Activate
        For Each cl In Sheets("Ipoess").Range("D2:D" & ActiveSheet.UsedRange.Rows.Count - 1)
            If cl.Value = "" Then cl.Value = Date + 2
            If cl.Offset(, -1).Value < Date - 2 Then cl.Offset(, -1).Value = Date - 2
         Next
 
Zoiets:
Code:
 'bijwerken Ipoess lege datum en begindatum < vandaag -2
    With Sheets("Ipoess")
        For Each cl In .Range("D2:D" & .UsedRange.Rows.Count - 1)
            If cl.Value = "" Then cl.Value = Date + 2
            If cl.Offset(, -1).Value < Date - 2 Then cl.Offset(, -1).Value = Date - 2
         Next
    End With
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan