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

Formule gevraagd

Status
Niet open voor verdere reacties.

jos.vander.meij

Gebruiker
Lid geworden
5 feb 2006
Berichten
60
Hallo,

Ik heb een vraag over een formule (zie plaatje in de bijlage).

Is het mogelijk om een formule te berekenen dat E6 en E7 leeg zijn omdat E8 is ingevuld?
En zodra E9 is ingevuld E8 ook blank wordt?

Alvast bedankt! Jos
 
jos.vander.meij,

Jos waar is de bijlage?

Liever geen plaatje maar een klein Excel voorbeeldje. Dit werkt voor iedereen veel gemakkelijker.

Koosl
 
Hierbij het plaatje

Hierbij het plaatje (als het lukt)
 

Bijlagen

  • rekenvb.gif
    rekenvb.gif
    15,5 KB · Weergaven: 50
Jos,

nu weet ik dus niet of je hier wel iets aan hebt, maar dan toch maar een voorzetje.


Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Address = "$E$8" Then [E6:E7] = ""
    If Target.Address = "$E$9" Then [E8] = ""
End Sub

zet dit in This Workbook.


lukt het?

Koosl
 
Gewoon je bestandje uit Excel zippen in Winzip of Winrar. Met die extensie wijzigen lukt bij mij niet.
 
Je schrijft:

als het laatst ingevulde veld in kolom C gevuld is,

Dat is toch altijd zo, niet?
 
Kolom C

Ik bedoel te zeggen dat als ik in B6 ook 1500 invul
rekent kolom C6 dit om naar uitkomst 38500. In dat geval wil ik dus C2:C5 niet meer zien.

En als ik vervolgens in B7 ook 1500 invul
rekent kolom C6 dit om naar uitkomst 37000. In dat geval wil ik dus C2:C6 niet meer zien.

etc. etc.
 
Zet dit in de code achter het blad waar je het gebruikt:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Range("C2:C24").Font.ColorIndex = 1
    If Not Intersect(Target, Range("B2:B24")) Is Nothing Then Range("C2:C" & Target.Row - 1).Font.ColorIndex = 2
End Sub

Wigi
 
Hmmm... ik ken VBA niet, is er geen gewone formule voor? Of is het mij heel eenvoudig uit te leggen hoe ik het "achter het blad zet".

Groet, Jos
 
Ga me al aardig bezwaard voelen

Beste Wim,

Optie 2 is inderdaad eenvoudig, ware het niet dat het geen effect heeft op mijn overzicht. Optie 1 is geen optie omdat de realisaties in het voorbeeld steeds 1500 zijn maar in de praktijk fluctueren.

Biedt voorwaardelijke opmaak geen mogelijkheid?
 
Optie 2 is inderdaad eenvoudig, ware het niet dat het geen effect heeft op mijn overzicht.

Je moet 1 keer een cel aanklikken in B2:B24, en dan het getal dat daar staat nog eens ingeven. Zie je dan een effect? De juiste cellen in kolom C zouden een wit kleurtje moeten krijgen qua lettertype.
 
Je oplossing klinkt wel goed...

He Wim,

Dat die letters dan wit worden is wel een goed idee. Ik heb nu een (sorry) printscreen gemaakt van het originele bestand. Wil je mij aan de hand hiervan nog 1 keer de code geven. Als ik de code die ik van je gekregen heb aanpas naar de juiste kolomnummers

Private Sub Worksheet_Change(ByVal Target As Range)
Range("CK183:CK232").Font.ColorIndex = 1
If Not Intersect(Target, Range("CJ183:CJ232")) Is Nothing Then Range("CK183:CK" & Target.Row - 1).Font.ColorIndex = 2
End Sub


heeft dit geen effect. Komt dit omdat ik geen exacte getallen invoer maar formules, misschien?

In de bijlage zie je de formules die ik gebruik. Nogmaals alvast dank...:o
 

Bijlagen

Je hebt niks verkeerd gedaan met de omzetting van de code.

Probeer voor de code anders dit eens:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Range("CK183:CK232").Font.ColorIndex = 2
    If Not Intersect(Target, Range("CJ183:CJ232")) Is Nothing Then Target.Offset(-1, 1).Font.ColorIndex = 1
End Sub

Vervolgens:

selecteer CJ187, doe F2 en Enter. Dan zou het toch moeten lukken.

Wigi
 
JA! er werkt wat...

Beste Wim,

Je formule werkt. Alleen CK187 (de laatst ingevulde cel) is nu ook wit. En deze moet eigenlijk juist wel zichtbaar zijn. Kan je de formule aanvullen dat als CK187 is gelijk aan CK233 dat je het bedrag dan wel ziet (en als ik niet te veel vraag ook nog vet gedrukt)?

Dank en dat was het dan voor mij (als dit lukt tenminste).

Groet, Jos
 
Zo dan?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    With Range("CK183:CK232").Font
        .ColorIndex = 2
        .Bold = False
        If Not Intersect(Target, .Offset(, -1)) Is Nothing Then
             Target.Offset(-1, 1).Resize(2).Font.ColorIndex = 1
             Target.Offset(, 1).Font.Bold = True
        End If
    End With
End Sub

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan