Vraag


Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Mijn vraag
Hoe kan ik de inhoud van een veld Kopieren, wanneer een ander veld aan een bepaalde conditie voldoet?

Relevante software en hardware die ik gebruik
Ik gebruik Office365, Excel
...

Even gekeken op youtube maar daar vind ik alleen hoe je bestanden kopieert.
Ik zou graag willen dat wanneer bv veld Q31 "1" is, de inhoud van veld Z3 wordt gekopieerd naar veld S3.

Ik had al wel een regel gemaakt, maar die staat als plain tekst in het betreffende veld en doet niets.
Ongetwijfeld heb ik de code ook fout hoor. Maar daarnaar ben ik dus op zoek, :)

=IF(Q31 = 1;s3 = z3) <dit werkt iig niet. ;)

Het is puur aftasten hoor. Als ik de werkwijze ken, zal ik het verder uitbreiden.

Beste antwoord (via Fantomaz op 10-08-2023 22:17)


  • Teun_2
  • Registratie: Oktober 2003
  • Laatst online: 03-06 22:57
Macro's hebben een behoorlijk veiligheidsrisico. Ik begrijp nog steeds niet wat er mis is met =ALS(B7=1;Z3;"oorspronkelijke inhoud van S3") in S3 te zetten, waarbij je "oorspronkelijke inhoud van S3" vervangt door de formule die er in S3 stond?

Alle reacties


Acties:
  • 0 Henk 'm!

  • fender89
  • Registratie: November 2009
  • Laatst online: 07:19
ChatGPT zegt er het volgende over:


Je kunt de functie IF combineren met de functie VLOOKUP of INDEX/MATCH om dit te bereiken. Hier is een voorbeeldformule die je kunt gebruiken in cel S3:

`=ALS(Q31=1, VERT.ZOEKEN(1, Z$3:Z$100, 1, ONWAAR), "")`

Deze formule controleert of cel Q31 gelijk is aan 1. Als dat het geval is, zoekt de VERT.ZOEKEN-functie naar de waarde 1 in het bereik Z3:Z100 en geeft de waarde in dezelfde rij terug. Als Q31 niet gelijk is aan 1, wordt een lege string ("") weergegeven in cel S3. Pas de formule aan aan je specifieke bereik en voorwaarden.

Acties:
  • +1 Henk 'm!

  • m-vw
  • Registratie: Mei 2013
  • Laatst online: 07:47

m-vw

GEZOCHT: De Kluts

Je formule is bijna goed. In S3 moet je het volgende zetten: =IF(Q31 = 1;Z3)
Eventueel kan je het nog uitbreiden naar =IF(Q31 = 1;Z3;"") Dan krijg je een lege cel te zien als de waarde iets anders is dan 1..

Garmin FR245M + HRM-RUN


Acties:
  • +1 Henk 'm!

  • Tazzios
  • Registratie: November 2001
  • Laatst online: 15:28

Tazzios

..

engels en nederlandse notatie mixen zal inderdaad niet goed werken en je 2 = moet ook een scheidings teken zijn.
ALS, functie - Microsoft Ondersteuning

deze heb je denk nodig:
=ALS(Q31=1;Z3;"")

tenzij je de waarde daadwerkelijk wilt kopiëren, dan moet je met macro`s aan de slag.

[ Voor 47% gewijzigd door Tazzios op 08-08-2023 08:47 ]


Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
[b]Tazzios schreef op dinsdag 8 augustus 2023 @ 08:43:
deze heb je denk nodig:
=ALS(Q31=1;Z3;"")

tenzij je de waarde daadwerkelijk wilt kopiëren, dan moet je met macro`s aan de slag.
Oei... Het gaat inderdaad om de waarde in het veld.
Dus wanneer dit bv 42,3 is, moet dit worden gekopieerd naar een ander veld, wanneer die Q31 "1" is.

Dat is dus niet zonder meer mogelijk? :X

Ik ga eens wat puzzelen...

Acties:
  • +1 Henk 'm!

  • Tazzios
  • Registratie: November 2001
  • Laatst online: 15:28

Tazzios

..

Waarde wordt nu dan wel overgenomen maar indien je Q31 weer wijzigt wijzigt S3 ook weer mee.

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Jongens, ik kom er even niet meer uit. 8)7

Reden voor mijn vraag is de volgende:
Ik heb een waarde X die wordt bepaald door enkele variabelen.
Uiteindelijk wil ik die waarde X weer gebruiken om een van die variabelen te kunnen veranderen.
Uiteraard lukt dat niet omdat ik dan ik een loop kom.

Daarom het ik het plan gevat om waarde X tijdelijk op te slaan in waarde Y, wanneer ik een veld "1" maak.
Als ik die waarde weer "0" maak, had ik nog steeds de waarde in Y staan, terwijl de nieuwe waarde X alweer werd gevormd.
Ik kan waarde Y (dus de oude waarde X) weer gebruiken om als variabele de nieuwe waarde X te bepalen.

Het is wat lastig uit te leggen.
Het komt er op neer dat ik een met een balans van 2 waardes ( Stroom en Spanning) zit. Verandert de spanning, heeft dat een omgekeerd evenredig gevolg voor de stroom.
Spanning zakt, dan loopt de stroom op. (Details zal ik jullie besparen) ;) .
Omdat ik het effect in een excel-schema wil weergeven, wil ik die veranderde spanning weer in het schema zetten, zodat de stroom daarop kan aanpassen, wat weer een nieuwe spanning geeft.
Dat gaat in kleine stapjes. Maar omdat ik niet die spanning kan laten meerekenen in een waarde die zijn eigen spanning bepaald (de loop dus) wil ik die spanning als getal opslaan, om later weer te gebruiken in dat schema.

Kortom: Hoe kan ik een waarde opslaan, zodat hij niet meer afhankelijk is van zijn ontstaansfactoren, en ik de waarde kan gebruiken als variabele voor een nieuwe waarde?

[edit]
Ik dacht nog even... Misschien moet ik het een "momentopname" noemen in mijn uitleg. :+

[ Voor 3% gewijzigd door Fantomaz op 08-08-2023 13:04 ]


Acties:
  • +1 Henk 'm!

  • Vld1989
  • Registratie: Oktober 2022
  • Laatst online: 12:05
Fantomaz schreef op dinsdag 8 augustus 2023 @ 12:57:
Jongens, ik kom er even niet meer uit. 8)7

Reden voor mijn vraag is de volgende:
Ik heb een waarde X die wordt bepaald door enkele variabelen.
Uiteindelijk wil ik die waarde X weer gebruiken om een van die variabelen te kunnen veranderen.
Uiteraard lukt dat niet omdat ik dan ik een loop kom.

Daarom het ik het plan gevat om waarde X tijdelijk op te slaan in waarde Y, wanneer ik een veld "1" maak.
Als ik die waarde weer "0" maak, had ik nog steeds de waarde in Y staan, terwijl de nieuwe waarde X alweer werd gevormd.
Ik kan waarde Y (dus de oude waarde X) weer gebruiken om als variabele de nieuwe waarde X te bepalen.

Het is wat lastig uit te leggen.
Het komt er op neer dat ik een met een balans van 2 waardes ( Stroom en Spanning) zit. Verandert de spanning, heeft dat een omgekeerd evenredig gevolg voor de stroom.
Spanning zakt, dan loopt de stroom op. (Details zal ik jullie besparen) ;) .
Omdat ik het effect in een excel-schema wil weergeven, wil ik die veranderde spanning weer in het schema zetten, zodat de stroom daarop kan aanpassen, wat weer een nieuwe spanning geeft.
Dat gaat in kleine stapjes. Maar omdat ik niet die spanning kan laten meerekenen in een waarde die zijn eigen spanning bepaald (de loop dus) wil ik die spanning als getal opslaan, om later weer te gebruiken in dat schema.

Kortom: Hoe kan ik een waarde opslaan, zodat hij niet meer afhankelijk is van zijn ontstaansfactoren, en ik de waarde kan gebruiken als variabele voor een nieuwe waarde?

[edit]
Ik dacht nog even... Misschien moet ik het een "momentopname" noemen in mijn uitleg. :+
Misschien denk ik te simpel, maar ik doe dit met een handmatige stap aan het einde.

Eerst de al eerder genoemde formule =ALS(Q31=1;Z3;"") invullen. Zorgen dat alle uitkomsten in 1 kolom staan. Dan simpelweg die complete kolom selecteren, kopiëren, en speciaal plakken als waarde (hotkey: CTRL+ALT+V, dan opent er een scherm, dan W en enter).

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Vld1989 schreef op dinsdag 8 augustus 2023 @ 15:32:
Eerst de al eerder genoemde formule =ALS(Q31=1;Z3;"") invullen. Zorgen dat alle uitkomsten in 1 kolom staan. Dan simpelweg die complete kolom selecteren, kopiëren, en speciaal plakken als waarde (hotkey: CTRL+ALT+V, dan opent er een scherm, dan W en enter).
Speciaal plakken?
Die ken ik niet.
Ik heb het ook geprobeerd te plakken, maar dan waren de velden leeg.

In mijn situatie verandert de eerste waarde door de wijziging van de tweede. Dus moet ik het een paar keer copy pasten. Elke keer verandert de uitkomst een beetje. Uiteindelijk zijn de veranderingen verwaarloosbaar klein en heb ik een balans gevonden. En dat is de opzet. :F

Acties:
  • +1 Henk 'm!

  • Vld1989
  • Registratie: Oktober 2022
  • Laatst online: 12:05
Fantomaz schreef op dinsdag 8 augustus 2023 @ 18:02:
[...]


Speciaal plakken?
Die ken ik niet.
Ik heb het ook geprobeerd te plakken, maar dan waren de velden leeg.

In mijn situatie verandert de eerste waarde door de wijziging van de tweede. Dus moet ik het een paar keer copy pasten. Elke keer verandert de uitkomst een beetje. Uiteindelijk zijn de veranderingen verwaarloosbaar klein en heb ik een balans gevonden. En dat is de opzet. :F
Yep, als je "gewoon" plakt dan past ie de formule aan en staat er nog steeds een formule in je formulebalk. Als je bijvoorbeeld =ALS(Q31=1;Z3;"") in cel S3 hebt staan en je plakt dat naar cel T3, dan zal er in je formulebalk =ALS(R31=1;AA3;"") komen te staan, waardoor je waarschijnlijk een leeg veld als output te zien krijgt.

Maar stel de uitkomst van =ALS(Q31=1;Z3;"") is 12, dan kan je speciaal plakken als waarde (met dus de toetsencombinatie die ik aangaf in mijn post, of rechtermuisknop op de cel met waarde 12 en dan klikken op het linkericoontje van het rood omlijnde vak). Dan staat er in je formulebalk geen formule meer, maar gewoon 12 en verandert dat nooit meer.
Afbeeldingslocatie: https://beterinexcel.nl/wp-content/uploads/2017/01/Menu-Plakken-Speciaal-197x300.jpg

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Ik zal er eens naar kijken.
Op dit moment zet ik nog in op een veld wat bij "1" de waarde kopieert naar een veld. En waarbij bij een "0" die waarde wordt gekopieerd naar een ander veld.
Want ik kan er niet bij dat dan de originele waarde, die feitelijk niets meer met die gekopieerde waarde te maken heeft, niet toestaat dat zijn kopie voor andere doeleinden wordt gebruikt.

Acties:
  • 0 Henk 'm!

  • m-vw
  • Registratie: Mei 2013
  • Laatst online: 07:47

m-vw

GEZOCHT: De Kluts

Fantomaz schreef op dinsdag 8 augustus 2023 @ 18:02:
.....

In mijn situatie verandert de eerste waarde door de wijziging van de tweede. Dus moet ik het een paar keer copy pasten. Elke keer verandert de uitkomst een beetje. Uiteindelijk zijn de veranderingen verwaarloosbaar klein en heb ik een balans gevonden. En dat is de opzet. :F
Kan je anders de berekening niet een paar keer onder elkaar zetten waarbij je het resultaat van de eerste regel als input voor de tweede geberuikt en zo verder.

Anders zal je inderdaad met plakken speciaal of een macro moeten gaan werken, want hoewel best wel wat programmeetalen een constructie als x=x+1 slikken krijg je in Excel te maken met een kringverwijzing/circulaire referentie.

Garmin FR245M + HRM-RUN


Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
m-vw schreef op dinsdag 8 augustus 2023 @ 21:59:
[...]


Kan je anders de berekening niet een paar keer onder elkaar zetten waarbij je het resultaat van de eerste regel als input voor de tweede geberuikt en zo verder.

Anders zal je inderdaad met plakken speciaal of een macro moeten gaan werken, want hoewel best wel wat programmeetalen een constructie als x=x+1 slikken krijg je in Excel te maken met een kringverwijzing/circulaire referentie.
DAt is een mooie... Maar het kan wel 12x nodig zijn, op ca 15 verschillende plekken.

Als ik die uitkomst kan opslaan en op een volgend moment gebruiken, dan toggle ik die momenten wel met een "switch" waarbij ik dus telkens "nieuwe invoer" toevoeg.

Dus laat excel de eerste keer een bepaalde waarde zien en wil ik met die switch de gekopieerde waarde overnemen terwijl er dan niets gebeurd met de oorspronkelijke waarde.
Zet ik de swith terug, zal excel een nieuwe waarde zien alsware die net door mij aangeleverd.

Maar wat ik ook doe, Excel blijft de gekopieerde waarde aanpassen (dus eigenlijk kopieren), ook wanneer ik dat middels die switch blokkeer.
Dus "kopieren alleen wanneer veld 'switch' 1 is" en dan de waarde laten staan wanneer veld 'switch' 0 is.

Ik kan die gekopieerde waarde maar niet los zien van zijn origineel :(

Acties:
  • +1 Henk 'm!

  • Tazzios
  • Registratie: November 2001
  • Laatst online: 15:28

Tazzios

..

automatisch berekenen uitzetten zodat je zelf kan bepalen wanneer de formules berekent worden?

Acties:
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Je kunt met vba waarden in variabelen stoppen en die later gebruiken als je ze (weer) nodig hebt. Maar als je ze langer wil bewaren dan de tijd tussen openen en sluiten van het bestand, moet je die waarden wel in cellen opslaan.

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Tazzios schreef op woensdag 9 augustus 2023 @ 07:41:
automatisch berekenen uitzetten zodat je zelf kan bepalen wanneer de formules berekent worden?
Dat is een mooie...
Maar hoe kan ik dit berekenen stopzetten en weer activeren.
Het is eigenlijk een ongoing process waarbij ik het in kleine stapjes wil uitleggen.
Als ik de uitkomst kopieer en gebruik in een nieuwe fase in de formule, moet ik dat kunnen controleren.
Als ik dat toggle met een button waarbij ik telkens elke actie kan blokkeren en weer kan vrijgeven, ben ik er ook.

In real life loopt de stroom op naarmate de spanning zakt (in de beoogde elektronische apparatuur).
Daar zit een reactietijd in, veroorzaakt door de elektronica an sich.
Dat kan ik niet simuleren. Dus wil ik die afname van spanning in stapjes kunnen tonen. Dus de uitkomst wordt weergegeven, gekopieerd in de formule, de uitkomt weer weergegeven, gekopieerd in de formule enz.
Dit zal in stapjes van minimale spanning/stroom gaan. Maar zo kan ik de waardes wel tonen.

Acties:
  • 0 Henk 'm!

  • dragonhaertt
  • Registratie: Februari 2011
  • Laatst online: 14:12

dragonhaertt

@_'.'

Excel kan ook iteratief rekenen, in loops.
Ik weet zo niet welke instelling dat is maar dat heb ik wel eens gebruikt.

Is erg langzaam, veel werk om mooie grafieken te bouwen en niet heel overzichtelijk.
Als je dit soort dingen wil simuleren kan je beter een simulatie pakket pakken zoals LTSpice of Simulink

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
dix-neuf schreef op woensdag 9 augustus 2023 @ 07:48:
Je kunt met vba waarden in variabelen stoppen en die later gebruiken als je ze (weer) nodig hebt. Maar als je ze langer wil bewaren dan de tijd tussen openen en sluiten van het bestand, moet je die waarden wel in cellen opslaan.
Klopt... Daar zit ik nu ook even mee.

Als ik nu een veld/cel kopieer met: IF (B7 = 1; S3 = Z3)
( Ik hoop dat ik het goed omschrijf. Als veld B7 "1" is, moet hij de waarde van Z3 in S3 zetten)
Dan doet hij dat keurig. Maar wanneer B7 niet 1 is, geeft hij een lege waarde terug en is dat veld S3 plotseling "0". En dat moet niet.

Wat ik nu zou willen is zoiets als dit: IF(B7 = 1; [Waarde Z3 naar S3]; [S3 laten voor wat hij is])

Dus wanneer die B7 "1" is, Z3 overzetten naar S3. Is B7 "0" mag er niets gebeuren. En vooral dus ook geen "lege" waarde teruggeven.

En dáár ben ik mijn hoofd nu over aan het breken. ;)

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
dragonhaertt schreef op woensdag 9 augustus 2023 @ 07:53:
Excel kan ook iteratief rekenen, in loops.
Ik weet zo niet welke instelling dat is maar dat heb ik wel eens gebruikt.

Is erg langzaam, veel werk om mooie grafieken te bouwen en niet heel overzichtelijk.
Als je dit soort dingen wil simuleren kan je beter een simulatie pakket pakken zoals LTSpice of Simulink
Ik weet dat er programma's zijn die dit probleemloos aankunnen. Maar dan moet ik die helemaal uitspitten en loop ik per applicatie weer tegen andere zaken aan die ik moet begrijpen en uitdiepen.
In mijn huidige project in Excel ben ik nagenoeg klaar en moet ik alleen nog die stapjes in spannings/stroom-verloop kunnen controleren.

Acties:
  • 0 Henk 'm!

  • dragonhaertt
  • Registratie: Februari 2011
  • Laatst online: 14:12

dragonhaertt

@_'.'

Fantomaz schreef op woensdag 9 augustus 2023 @ 07:59:
[...]


Ik weet dat er programma's zijn die dit probleemloos aankunnen. Maar dan moet ik die helemaal uitspitten en loop ik per applicatie weer tegen andere zaken aan die ik moet begrijpen en uitdiepen.
In mijn huidige project in Excel ben ik nagenoeg klaar en moet ik alleen nog die stapjes in spannings/stroom-verloop kunnen controleren.
Als je dan even googled op "Excel iteratieve berekening" dan heb je zo je oplossing.

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Ik "parkeer hem even", om even in peppie managerstaal te spreken...

Ik wil eerst nog even een andere oplossing proberen waarbij ik een veld kan kopieren óf dat niet doen, waarbij de bestaande waarde blijft bestaan. Als dat lukt, ben ik er ook.

Acties:
  • 0 Henk 'm!

  • dragonhaertt
  • Registratie: Februari 2011
  • Laatst online: 14:12

dragonhaertt

@_'.'

En hoe is dat anders dan iteratief berekenen aan te zetten, en dan op f9 te drukken elke keer als je alle velden wil kopiëren?

Iteratief berekenen geeft je de optie om met kringverwijzingen te werken.

[ Voor 23% gewijzigd door dragonhaertt op 09-08-2023 08:17 ]

Truth is like a language with no native speakers left.
Its poetry is speechless and it can’t be caught in human being’s breath.


Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
dragonhaertt schreef op woensdag 9 augustus 2023 @ 08:17:
En hoe is dat anders dan iteratief berekenen aan te zetten, en dan op f9 te drukken elke keer als je alle velden wil kopiëren?

Iteratief berekenen geeft je de optie om met kringverwijzingen te werken.
Ik weet niet hoe dat anders is.
Ik ken het het niet. Als je stelt dat dit hetzelfde doet, is het het overwegen waard er eens naar te kijken.
Info is op Youtube te vinden, zei je?

Acties:
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Fantomaz schreef op woensdag 9 augustus 2023 @ 07:57:
Als ik nu een veld/cel kopieer met: IF (B7 = 1; S3 = Z3)
( Ik hoop dat ik het goed omschrijf. Als veld B7 "1" is, moet hij de waarde van Z3 in S3 zetten)
Dan doet hij dat keurig. Maar wanneer B7 niet 1 is, geeft hij een lege waarde terug en is dat veld S3 plotseling "0". En dat moet niet.
Wat ik nu zou willen is zoiets als dit: IF(B7 = 1; [Waarde Z3 naar S3]; [S3 laten voor wat hij is])
Dus wanneer die B7 "1" is, Z3 overzetten naar S3. Is B7 "0" mag er niets gebeuren. En vooral dus ook geen "lege" waarde teruggeven. En dáár ben ik mijn hoofd nu over aan het breken. ;)
Wat er in S3 komt kun je zonder vba alleen bepalen met een formule in die cel zelf, dus in S3.
Die formule luidt dan: =ALS(B7=1;Z3;wat anders dan Z3). Op de plaats van 'wat anders dan Z3' typ je dan wat er in Z3 moet staan als B7 niet gelijk is aan 1. Maar dat voldoet, als ik je goed begrijp, niet aan je wensen. Blijft over: vba gebruiken.

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
dix-neuf schreef op woensdag 9 augustus 2023 @ 13:05:
[...]

Wat er in S3 komt kun je zonder vba alleen bepalen met een formule in die cel zelf, dus in S3.
Die formule luidt dan: =ALS(B7=1;Z3;wat anders dan Z3). Op de plaats van 'wat anders dan Z3' typ je dan wat er in Z3 moet staan als B7 niet gelijk is aan 1. Maar dat voldoet, als ik je goed begrijp, niet aan je wensen. Blijft over: vba gebruiken.
Ik begrijp daaruit dat er niet zoiets bestaat als: =ALS(B7=1;kopieer inhoud Z3;niets kopieren en alles zo laten) ?
Jammer... Het had het er een stuk gemakkelijker op gemaakt.
Ik zal me toch eens in die VB moeten verdiepen.
Hoewel ik de Iteratie ook nog wel een dingetje vind om verder naar te kijken.
Maar dan zou ik alle stappen in die iteratie moeten kunnen managen. Dus met een slider oid.
Als ik maar op enigerlei manier controle heb over de veranderingen in de velden. :)

Bedankt voor je meedenken.

Acties:
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Fantomaz schreef op woensdag 9 augustus 2023 @ 14:16:
Ik begrijp daaruit dat er niet zoiets bestaat als: =ALS(B7=1;kopieer inhoud Z3;niets kopieren en alles zo laten) ?
Dat is een juiste conclusie !

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
én een tekortkoming van Excel,

Acties:
  • +2 Henk 'm!

  • Teun_2
  • Registratie: Oktober 2003
  • Laatst online: 03-06 22:57
Dat zou ik niet zeggen. Excel laat je op verschillende manieren werken, waar sommige manieren gewoon beter werken.

Ik ben ervan overtuigd dat wat je wil bereiken perfect kan in excel zonder vba te gebruiken, maar dan moet je wel een andere manier zoeken om het te bekomen. Bijvoorbeeld door gebruik van een extra cel waar je de oosrpronkelijke waarde zet, en de ALS-statement in een andere cel en daar met verder rekent.

Excel moet je echt zien als een soort cascade met verwijzingen van cel naar cel die 'luisteren' naar cellen downstream. Wat je probeert te doen is een cel los van die cascade te wijzigen, en dat is niet hoe Excel hoort te werken.

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Teun_2, dat is precies waar ik al langere tijd mee bezig heb,
Je aangedragen oplossing werkt niet omdat Excel hardnekkig die originele waarde blijft kopieren naar dat kopie-veld, omdat hem dat zo is opgedragen.
Als ik stel dat hij dat alleen mag doen onder bepaalde omstandigheden (dat ene veld "1") maken, zodat ik de waarde kan kopieren wanneer het veld "0" is, dan wordt er "geen waarde" geladen omdat Excel mij altijd de keuzes tussen 2 waardes geeft. Dus bij True en bij False.
En ik wil die waarde niet hebben wanneer deze False is. Dan moet hij de oude waarde onthouden.

Wat ik kan proberen is om die oude waarde terug te zetten, wanneer deze false is.
Ik vind het jammer dat er niet een ordinaire funktie bestaat die alleen iets kopieert wanneer een waarde True is.

En dat vind ik een tekortkoming. Vandaar...

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Nu wil ik met die iteratie bezig en daarvoor moet ik in calculator wat zaken aanpassen, maar mijn Excel geeft dit niet weer zoals ik het zie in de instructies hiervoor.
Ik heb Excel van Office 365.
Ik heb wel die balk links van mijn scherm als ik op "File" klik, en daar kan ik ook onderin voor "Options" kiezen.
Vervolgens ziet mijn scherm er totaal anders uit.
Is dit een versie dingetje? Of iets met rechten? Hebben jullie enig idee?

Acties:
  • +1 Henk 'm!

  • Vld1989
  • Registratie: Oktober 2022
  • Laatst online: 12:05
Fantomaz schreef op woensdag 9 augustus 2023 @ 17:58:
Teun_2, dat is precies waar ik al langere tijd mee bezig heb,
Je aangedragen oplossing werkt niet omdat Excel hardnekkig die originele waarde blijft kopieren naar dat kopie-veld, omdat hem dat zo is opgedragen.
Als ik stel dat hij dat alleen mag doen onder bepaalde omstandigheden (dat ene veld "1") maken, zodat ik de waarde kan kopieren wanneer het veld "0" is, dan wordt er "geen waarde" geladen omdat Excel mij altijd de keuzes tussen 2 waardes geeft. Dus bij True en bij False.
En ik wil die waarde niet hebben wanneer deze False is. Dan moet hij de oude waarde onthouden.

Wat ik kan proberen is om die oude waarde terug te zetten, wanneer deze false is.
Ik vind het jammer dat er niet een ordinaire funktie bestaat die alleen iets kopieert wanneer een waarde True is.

En dat vind ik een tekortkoming. Vandaar...
Wacht, nu lees ik het probleem anders als dat ik het tot nu toe heb gelezen (vooral door het dikgedrukte) en ik denk dan dat we toch te moeilijk denken met z'n allen.

Probeer eens =ALS(Q31=1;"1";Z3)
Dan zou bij een False de waarde die in Z3 staat weergegeven moeten worden en als ik het dikgedrukte goed begrijp moet dat ook. Bij een True wordt er een 1 weergegeven.

Uitkomst van de formule verandert natuurlijk wel als je met Z3 gaat spelen, het onthouden van de oorspronkelijke waarde van voor het spelen zal je echt handmatig moeten kopiëren en plakken vrees ik..
Of een macro schrijven, maar daar heb ik geen verstand van..

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Even ter afronding...
Het is me gelukt om met een Macro de uitkomst van de berekening te knippen en vervolgens te "plakken" terug in zijn berekening. Met een fancy button erbij ziet het er gelikt en vooral werkzaam uit.

Iedereen bedankt voor de hulp en het sturen in de juiste richting.

NB. Die Macro's is nog niet echt een lastige.

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • Teun_2
  • Registratie: Oktober 2003
  • Laatst online: 03-06 22:57
Macro's hebben een behoorlijk veiligheidsrisico. Ik begrijp nog steeds niet wat er mis is met =ALS(B7=1;Z3;"oorspronkelijke inhoud van S3") in S3 te zetten, waarbij je "oorspronkelijke inhoud van S3" vervangt door de formule die er in S3 stond?

Acties:
  • +1 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Teun_2 schreef op donderdag 10 augustus 2023 @ 16:48:
Macro's hebben een behoorlijk veiligheidsrisico. Ik begrijp nog steeds niet wat er mis is met =ALS(B7=1;Z3;"oorspronkelijke inhoud van S3") in S3 te zetten, waarbij je "oorspronkelijke inhoud van S3" vervangt door de formule die er in S3 stond?
Verrek...
Ik wilde net typen dt ik dan zo'n circulaire nog wat zou krijgen.
Maar ik teste het even om het te bewijzen en het blijkt ook te werken!
Ik kan het nog niet helemaal implementeren in mijn programma want dat kost nogal wat tijd. Feit is dat dat dít was wat ik zocht! _/-\o_
Pagina: 1