Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

(Excel) Cel met formule automatisch aanpassen

Pagina: 1
Acties:

Vraag


  • Patrickvk1312
  • Registratie: december 2019
  • Laatst online: 10-06 14:06
In excel heb ik een Macro toegevoegd die (als een cel een bepaalde kleur heeft) het getal bij een reeds getallen optelt, zodat je bijvoorbeeld weet wat het totaal is van alle cijfers in een rood vlak.

Helaas word deze cel niet automatisch bijgewerkt zodra ik een vak rood maak.
Nu is mijn vraag: is er een mogelijkheid dit voor elkaar te krijgen?

Onderstaand de code welke ik hiervoor gebruik:

code:
1
2
3
4
5
6
7
8
9
10
Function SOMZELFDEKLEUR(Gebied As Range, Cel As Range) As Double

Dim Kleur As Integer
  Kleur = Cel.Interior.ColorIndex
  For Each Cel In Gebied.Cells
    If Cel.Interior.ColorIndex = Kleur And IsNumeric(Cel.Value) Then
      SOMZELFDEKLEUR = SOMZELFDEKLEUR + Cel.Value
    End If
  Next Cel
End Function

Alle reacties


  • F_J_K
  • Registratie: juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Welkom :)

Gebruik hiervoor het change() event: kijk met die functie of de gewijzigde cel (Target) rood is en roep dan jouw functie aan met als parameter die target. Of bij twijfel en geen hele grote sheets: in een loopje alle (relevante) cellen langslopen na elke change() maar dat zal vaak overkill zijn en soms funest voor de perfomance.

[Voor 11% gewijzigd door F_J_K op 23-06-2020 11:22. Reden: url toegevoegd en domme fout verwijderd]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Patrickvk1312
  • Registratie: december 2019
  • Laatst online: 10-06 14:06
F_J_K schreef op dinsdag 23 juni 2020 @ 11:21:
Welkom :)

Gebruik hiervoor het change() event: kijk met die functie of de gewijzigde cel (Target) rood is en roep dan jouw functie aan met als parameter die target. Of bij twijfel en geen hele grote sheets: in een loopje alle (relevante) cellen langslopen na elke change() maar dat zal vaak overkill zijn en soms funest voor de perfomance.
Helaas ben ik zelf nog niet echt goed in programmeren (Bovenstaande heb ik op internet gevonden).
:S Zou je het misschien voor mij in code kunnen zetten. :$

  • Lustucru
  • Registratie: januari 2004
  • Niet online

Lustucru

26 03 2016

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Patrickvk1312
  • Registratie: december 2019
  • Laatst online: 10-06 14:06
Bedankt voor de link, alleen is het voor mij niet handig iedere keer op F9 te drukken.
Dit omdat ik met een planning bezig ben, waardoor ik dan 100x op F9 moet drukken tussen de aanpassingen door.

  • Lustucru
  • Registratie: januari 2004
  • Niet online

Lustucru

26 03 2016

Dan zul je het anders op moeten lossen. Om precies te zijn: wanneer maak je een cel rood? Als dat een vaste regel is, kun je die zowel toepassen in een som.als() constructie als in een voorwaardelijke opmaak.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Patrickvk1312
  • Registratie: december 2019
  • Laatst online: 10-06 14:06
Lustucru schreef op dinsdag 23 juni 2020 @ 15:34:
Dan zul je het anders op moeten lossen. Om precies te zijn: wanneer maak je een cel rood? Als dat een vaste regel is, kun je die zowel toepassen in een som.als() constructie als in een voorwaardelijke opmaak.
Deze word rood als ik daar naartoe ga, en waar die 8 staat kan ik bijvoorbeeld ook een 7 neerzetten, als ik er bijvoorbeeld niet een hele dag ben geweest. op die manier kan ik precies zien hoeveel tijd ik bij een client ben geweest

  • ThinkPad
  • Registratie: juni 2005
  • Laatst online: 13:32

ThinkPad

Moderator Duurzame Energie & Domotica
Is dit niet via een =ALS() waarin je e.e.a. telt i.c.m. 'voorwaardelijke opmaak' op te lossen?
Je bent zelf wat vaag in je uitleg, dit maakt het lastig om goed antwoord te kunnen geven.

[Voor 8% gewijzigd door ThinkPad op 23-06-2020 15:47]

Gas besparen door CV-tuning | Elektriciteit besparen
Geen vragen via privébericht die ook via het forum kunnen a.u.b.


  • Patrickvk1312
  • Registratie: december 2019
  • Laatst online: 10-06 14:06
ThinkPad schreef op dinsdag 23 juni 2020 @ 15:46:
Is dit niet via een =ALS() waarin je e.e.a. telt i.c.m. 'voorwaardelijke opmaak' op te lossen?
Je bent zelf wat vaag in je uitleg, dit maakt het lastig om goed antwoord te kunnen geven.
Excuses voor de vage uitleg hierbij het beste wat ik kan:

Ik ben een overzichtelijk planning systeem aan het maken, zodat ik precies kan zien hoeveel uur er ergens in besteed is.
Zodra een hokje rood is (Wat ingeplanned betekend) moet deze bij het totaal opgeteld worden. mocht je er bijvoorbeeld die dag mag 7 uur zijn geweest ipv de standaard 8 dan zet je een 7 neer ipv de 8.

het gedeelte dat het getal er bij opgeteld word als die rood is werk al goed, alleen moet ik nu iedere keer dubbel klikken op de cel met de formule, of application.volatile toevoegen en dan na iedere wijziging op F9 te drukken. het liefst wil ik dat dit automatisch gaat. (Dus zodra ik een vakje rood maak, dat de formule het direct verwerkt)

Hopelijk is het nu wat duidelijken :D

Acties:
  • +1Henk 'm!

  • Lustucru
  • Registratie: januari 2004
  • Niet online

Lustucru

26 03 2016

Patrickvk1312 schreef op dinsdag 23 juni 2020 @ 15:54:
Zodra een hokje rood is (Wat ingeplanned betekend)
De oplossing is dan dus een kolom 'gepland' maken. Je zorgt met voorwaardelijke opmaak ervoor dat zodra daar een kruisje (of 'j' of 'v'' , net wat je wilt) staat dat dan de juiste cel(len) rood worden. Met som.als() kun je je optelling doen. Geen macro nodig, geen f9 en kruisje zetten gaat net zo snel, zo niet sneller, dan een vakje rood kleuren.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Patrickvk1312
  • Registratie: december 2019
  • Laatst online: 10-06 14:06
Lustucru schreef op dinsdag 23 juni 2020 @ 18:42:
[...]


De oplossing is dan dus een kolom 'gepland' maken. Je zorgt met voorwaardelijke opmaak ervoor dat zodra daar een kruisje (of 'j' of 'v'' , net wat je wilt) staat dat dan de juiste cel(len) rood worden. Met som.als() kun je je optelling doen. Geen macro nodig, geen f9 en kruisje zetten gaat net zo snel, zo niet sneller, dan een vakje rood kleuren.
Goedemorgen, excuses voor het niet reageren gister, alleen dan kun je geen tijden meer invullen toch? dus dat je 7 uur daar bezig bent geweest ipv 8.

  • Belindo
  • Registratie: december 2012
  • Laatst online: 13:58

Belindo

▶ ─🔘─────── 15:02

@Lustucru bedoelt dat je in plaats van één kolom (met uren én een kleurtje) met twee kolommen gaat werken. Een voor de uren, en een voor 'Ingepland' Y/N.

Zoiets als dit:
IngeplandUren
Y8
N8
Y7

Stel dat 'Ingepland' kolom A is, en 'Uren' kolom B, dan kun je met de formule
code:
1
=SUMIF(A:A,"Y",B:B)
de som van de uren waar ingepland gelijk is aan Y. Je komt dan uit op 15 uur.

Coding in the cold; <brrrrr />


  • Falcon
  • Registratie: februari 2000
  • Laatst online: 12:32

Falcon

Q.A. Engineer (.net/azure)

"You never come second by putting other people first"

Pagina: 1


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True