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

Cel invullen als leeg met behulp van andere cel

Status
Niet open voor verdere reacties.

Samsung6713

Gebruiker
Lid geworden
24 dec 2019
Berichten
209
Goedemiddag,

Ik wil dat als cel C2 leeg is deze gevuld word met een waarde uit cel A2.
Om wel waarden in te kunnen vullen in C2 heb ik de formule in B2 staan.
Deze heb ik nu bedacht maar werkt niet =if(C2=0;C2=A2)

Kan het eigenlijk wel op deze manier, of is er een andere manier om een cel te vullen met een formule en toch handmatig waarden in kunnen vullen.
Voorbeeld in bijlage
 

Bijlagen

Je kan in één cel één ding kwijt, dus OF een formule OF een waarde OF een tekst

Wat jij wilt is mogelijk alleen met VBA te realiseren
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 2 To 20
    If Range("C" & i) = "" Then
        Range("C" & i) = Range("A" & i)
    End If
Next i
End Sub

Ik las je vraag verkeerd, sorry.
 
Laatst bewerkt:
Goedemiddag,
Dit lijkt te werken, maar als ik het aanpas begint de code en loopt dan vast.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i as integer
For i = 2 To 200
    If Range("F" & i) = "" Then
        Range("F" & i) = Range("D" & i)
    End If
Next i
End Sub

In de bijlage het voorbeeld bestand.

Het is de bedoeling dat op tabblad productie de prijs opgehaald word via deze formule
=ALS.FOUT(INDEX(Artikel!$B$1:$CX$200;VERGELIJKEN($C2;Artikel!$B$1:$B$200;0);VERGELIJKEN($G2;Artikel!$B$1:$CX$1;0));"")

Als er geen prijs is ingevuld per klant moet de standaardprijs gebruikt worden.

Misschien is er een andere formule die eerst kijkt of er een prijs bij de klant staat, zo niet de standaardprijs selecteerd.
Dan zou de vba code niet nodig zijn.

Hoop dat het verhaal zo duidelijk is.
 

Bijlagen

Voor in H2
Code:
=ALS.FOUT(ALS.FOUT(INDEX(Artikel!$B$1:$CX$200;VERGELIJKEN($C2;Artikel!$B$1:$B$200;0);VERGELIJKEN($G2;Artikel!$B$1:$CX$1;0));INDEX(Artikel!$D$2:$D$200;VERGELIJKEN($C2;Artikel!$D$2:$D$200;0)));"")
 
zo werkt het.

Bij vert zoeken het bereik nog even vastzetten
 

Bijlagen

Laatst bewerkt:
De meeste formules in de sheet kunnen nog wel wat simpeler/korter:

Code:
H2: =ALS.FOUT(ALS.FOUT(1/(1/INDEX(Artikel!$B$1:$CX$200;VERGELIJKEN($C2;Artikel!$B$1:$B$200;0);VERGELIJKEN($G2;Artikel!$B$1:$CX$1;0)));VERT.ZOEKEN($C2;Artikel!$B$2:$D$200;3;0));"")
D2: =ALS.FOUT(VERT.ZOEKEN(C2;Artikellijst;2;0);"")
I2: =ALS.FOUT(E2*H2;"")
L2: =ALS(A2<>"";WEEKNUMMER(A2;1);"")
 

Bijlagen

Laatst bewerkt:
Dit lijkt te werken, maar als ik het aanpas begint de code en loopt dan vast.

In een Change event op dezelfde cellen roept de procedure zich zelf steeds weer aan. Logisch dat de zaak dan vast loopt. Je komt in een oneindige lus. Events aan het begin uitzetten en aan het eind weer aanzetten voorkomt dit probleem.
 
Met SelectionChange gaat het wel goed:)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan