Toon posts:

(Excel) Cel met formule automatisch aanpassen

Pagina: 1
Acties:

Vraag


  • Patrickvk1312
  • Registratie: December 2019
  • Laatst online: 04-08 16:41
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: 04-08 16:41
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: 04-08 16:41
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: 04-08 16:41
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: 08:49

ThinkPad

Moderator Wonen & Mobiliteit
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: 04-08 16:41
ThinkPadd 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: 04-08 16:41
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: 23:39

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: 21:20

Falcon

DevOps/Q.A. Engineer

"You never come second by putting other people first"

Pagina: 1



Nintendo Switch (OLED model) Apple iPhone SE (2022) LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S22 Garmin fēnix 7 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 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee