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

Dynamische formule alléén op ingevulde rijen

Status
Niet open voor verdere reacties.

mvisbeek

Gebruiker
Lid geworden
18 jul 2008
Berichten
9
Ik heb een Excel file waarin op verschillende tijden gegevens worden toegevoegd. Nu heb ik een kolom waarin afhankelijk van de waarde van een andere cel in dezelfde rij een 1 of een 0 komt te staan. Op dit moment gebruik ik de volgende formule: =ALS(F1="GEEN";0;1)

Nu wil ik dat bij elke nieuwe ingevulde rij deze 0 of 1 automatisch wordt ingevuld, maar als ik de gehele kolom selecteer en de formule plak (zodat F1 ook automatisch F2 wordt bij rij 2, etc.) krijg ik een oneindig aantal rijen met 1tjes, ook voor de rijen die verder leeg zijn.

Bij het printen of exporteren naar Access neemt ie al deze rijen ook mee, en dat is niet de bedoeling.

Hoe kan ik zorgen dat de formule alleen wordt toegepast in rijen waar ook daadwerkelijk andere gegevens zijn ingevoerd?
 
Code:
=ALS(F1="";"";ALS(F1="GEEN";0;1))

Met vriendelijke groet,


Roncancio
 
Dat had ik al geprobeerd, was ik vergeten te zeggen :) Blijft hetzelfde probleem, nu staan er bij de lege rijen geen 1tjes maar lege cellen, maar hij beschouwt ze nog steeds als 'ingevuld'.

Misschien doe ik het toepassen gewoon verkeerd. Ik kopieer de cel met de formule, dan selecteer ik de gehele kolom en doe ik plakken. Dan vult ie dus een oneindig aantal cellen met de formule.

Het probleem is dat ik het maar op een beperkt aantal rijen hoef toe te passen, maar dat ik van te voren geen mogelijkheid heb om te weten hoeveel rijen dat uiteindelijk zullen worden. Het moet echter wel exact overeen komen, omdat ik geen lege entries in Access wil hebben.

Hoop dat er een oplossing voor is, ik hoorde iemand iets zeggen over dynamisch bereik, maar daar heb ik zelf geen weet van?

Code:
=ALS(G1="Informatie";1;ALS(G1="Onderdeel";1;ALS(G1="Uitvoering";1;ALS(G1="Overig";1;ALS(G1="GEEN";0;"")))))

Dit is de code die ik als laatst heb geprobeerd, maar die ook niet werkt. Misschien blijkt daaruit iets duidelijker wat ik probeer te bereiken :)
 
Laatst bewerkt:
Dat had ik al geprobeerd, was ik vergeten te zeggen :) Blijft hetzelfde probleem, nu staan er bij de lege rijen geen 1tjes maar lege cellen, maar hij beschouwt ze nog steeds als 'ingevuld'.

Misschien doe ik het toepassen gewoon verkeerd. Ik kopieer de cel met de formule, dan selecteer ik de gehele kolom en doe ik plakken. Dan vult ie dus een oneindig aantal cellen met de formule.

Het probleem is dat ik het maar op een beperkt aantal rijen hoef toe te passen, maar dat ik van te voren geen mogelijkheid heb om te weten hoeveel rijen dat uiteindelijk zullen worden. Het moet echter wel exact overeen komen, omdat ik geen lege entries in Access wil hebben.

Hoop dat er een oplossing voor is, ik hoorde iemand iets zeggen over dynamisch bereik, maar daar heb ik zelf geen weet van?

Je zou het met een macro kunnen doen.

Code:
Sub Vullen()
Dim lRij As Long
    lRij = 1
    Range("G1:G1000").Value = ""
    While Range("F" & lRij) <> ""
        Range("G" & lRij).Value = "=IF(F" & lRij & " =""GEEN"",0,1)"
        lRij = lRij + 1
    Wend
End Sub

Bovenstaande macro verwijdert de cellen G1 t/m G1000 en zet vervolgens de formule in de G-kolom uitsluitend op de regels waar in de F-kolom iets is ingevuld.

Met vriendelijke groet,


Roncancio
 
:) Dit lijkt te gaan werken, maar heb nog iets meer hulp nodig.. VBA gaat mn pet net iets te boven, dus het lukt me niet om het zelf goed aan te passen. Het is namelijk iets gecompliceerder, maar was in mn vraag niet helemaal compleet geweest :eek:

De kolomnamen zijn even iets veranderd, wat schematisch het doel is:

ALS G = GEEN DAN Q = 0
ALS G = Informatie OF Onderdeel OF Uitvoering OF Overig DAN Q = 1
ALS G = (leeg) DAN Q = (leeg)

Ik neem aan dat de macro dan steeds voor het exporteren naar Access handmatig gestart moet worden, of kan deze ook automatisch lopen?
 
Laatst bewerkt:
Sorry, was mijn eigen gepruts waardoor het niet helemaal werkte, de code is perfect zo! :thumb:

Heel erg bedankt voor de (snelle) hulp!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan