[Excel] Het "spiegelen" van velden

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
[edit] Ships... Tijdens aanmaken titel drukte ik op verzenden.

[Excel] Het "spiegelen" van velden.

Hallo mensen,

Bestaat er een optie om velden over en weer aan elkaar te koppelen?
Bv dat ik veld H5 en K8 koppel, zodat ze dezelfde waarde geven, ongeacht in welke van deze velden de waarde is ingegeven?

Je kunt het eerste veld wel zo instellen dat hij de waarde van het andere veld overneemt, maar niet andersom.
Tenminste... Niet dat ik weet met mijn beperkte kennis.

Bestaat er zoiets als "gespiegelde" cellen?

Als het iets is wat gewoon bestaat, dan had ik het zo kunnen vinden tijdens googlen, maar wanneer je niet weet hoe het heet, wordt dat hem ook niet. ;)

[ Voor 8% gewijzigd door Fantomaz op 03-08-2023 21:45 . Reden: abusievelijk op zenden gedrukt halverwege aanmaken ]

Beste antwoord (via Fantomaz op 07-08-2023 22:13)


  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Fantomaz schreef op donderdag 3 augustus 2023 @ 21:43:
Bestaat er een optie om velden over en weer aan elkaar te koppelen? Bv. dat ik veld H5 en K8 koppel, zodat ze dezelfde waarde geven, ongeacht in welke van deze velden de waarde is ingegeven?
Ja, dat bestaat; doe het volgende:
- Klik links-onderaan met de rechtermuisknop op de naam van het blad waarin je wil bewerkstelligen wat je wil, en klik in het verschijnende menu met de linkermuisknop op: "Programmacode weergeven". Je komt dan in de vba-editor.
- Dubbelklik in de linkerkolom op de naam van het gekozen blad (bv. 'Blad1'), kopieer onderstaande code en plak die aan de rechterkant in het grote witte blanco vlak.
- Sluit het venster door op het kruisje rechtsboven te klikken, je komt dan terug in het werkblad.
- Voer wisselend wat in in H5 en K8 en bekijk het resultaat.
- Succes ermee!

code:
1
2
3
4
5
6
7
8
9
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Range("H5"), Target) Is Nothing Then
Range("K8") = Range("H5")
End If
If Not Intersect(Range("K8"), Target) Is Nothing Then
Range("H5") = Range("K8")
End If
End Sub

NB: Code gewijzigd op 05-08-2023, 17.11 uur.

[ Voor 10% gewijzigd door dix-neuf op 05-08-2023 17:11 ]

Alle reacties


Acties:
  • +2 Henk 'm!

  • Microkid
  • Registratie: Augustus 2000
  • Laatst online: 11:04

Microkid

Frontpage Admin / Moderator PW/VA

Smile

Nee, want dan zou je een lus (loop) hebben, referenties die naar elkaar wijzen. Je zal dus iets moeten prutsen met formules en hulp-velden.

4800Wp zonnestroom met Enphase
Life's a waste of time. Time's a waste of life. Get wasted all the time and you'll have the time of your life.


Acties:
  • +2 Henk 'm!

  • doomtech
  • Registratie: Februari 2019
  • Nu online
Volgens mij beschrijf je nu een kringverwijzing.

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
doomtech schreef op donderdag 3 augustus 2023 @ 21:57:
Volgens mij beschrijf je nu een kringverwijzing.
Ik weet van het bestaan van een kringverwijzing en dat dat niet kan.
Maar wanneer 2 velden exact hetzelfde zijn qua waarde die ze bevatten/weergeven, dan zou ik in het ene veld iets kunnen aanpassen, wat meteen ook zichtbaar zou zijn in het andere veld.
Dat was de opzet, voor zover dat zou bestaan natuurlijk... :+

Acties:
  • +1 Henk 'm!

  • Kheos
  • Registratie: Juni 2011
  • Laatst online: 00:12

Kheos

FP ProMod
Fantomaz schreef op donderdag 3 augustus 2023 @ 22:09:
[...]


Ik weet van het bestaan van een kringverwijzing en dat dat niet kan.
Maar wanneer 2 velden exact hetzelfde zijn qua waarde die ze bevatten/weergeven, dan zou ik in het ene veld iets kunnen aanpassen, wat meteen ook zichtbaar zou zijn in het andere veld.
Dat was de opzet, voor zover dat zou bestaan natuurlijk... :+
Je weet wat een kringverwijzing is, je weet dat dat niet kan en dan omschrijf je een kringverwijzing en hoop je dat dat ineens wel kan.

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Kheos schreef op donderdag 3 augustus 2023 @ 22:14:
[...]

Je weet wat een kringverwijzing is, je weet dat dat niet kan en dan omschrijf je een kringverwijzing en hoop je dat dat ineens wel kan.
DAn begreep je me verkeerd.
Ik weet dat krijgverwijzingen niet kunnen.
Maar wat ik wilde, was geen kringverwijzing, maar een spiegeling van 2 velden.
Dat de uitkomst van een formule waarin veld A5 is betrokken moet worden weergegeven in veld A5, is inderdaad die kringverwijzing.

Wat de opzet is:
Ik heb een tabel waar ik zaken in kan aanpassen zodat ze overzichtelijk in die tabel staan.
Ik heb ook een schema waarbij bij elk item de waardes staan die bij dat item horen.
Als ik met een instructie bezig ben, wil ik graag de waarde aanpassen bij dat item. In het schema dus.
Maar ik wil ook kunnen aantonen wat het effect is op álle waardes van die tabel, wanneer je een deel aanpast. Dan is het makkelijker om het uit te leggen met de tabel erbij.
Vandaar mijn vraagstuk. :)

Acties:
  • 0 Henk 'm!

  • Brunniepoo
  • Registratie: Juni 1999
  • Laatst online: 03-10 21:15
Misschien is het handig om aan te geven waarom je deze oplossing nodig denkt te hebben.

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Brunniepoo schreef op donderdag 3 augustus 2023 @ 22:21:
Misschien is het handig om aan te geven waarom je deze oplossing nodig denkt te hebben.
Net te laat, Brunniepoo ;)

Acties:
  • 0 Henk 'm!

  • Kheos
  • Registratie: Juni 2011
  • Laatst online: 00:12

Kheos

FP ProMod
Fantomaz schreef op donderdag 3 augustus 2023 @ 22:21:
[...]


DAn begreep je me verkeerd.
Ik weet dat krijgverwijzingen niet kunnen.
Maar wat ik wilde, was geen kringverwijzing, maar een spiegeling van 2 velden.
Dat de uitkomst van een formule waarin veld A5 is betrokken moet worden weergegeven in veld A5, is inderdaad die kringverwijzing.

Wat de opzet is:
Ik heb een tabel waar ik zaken in kan aanpassen zodat ze overzichtelijk in die tabel staan.
Ik heb ook een schema waarbij bij elk item de waardes staan die bij dat item horen.
Als ik met een instructie bezig ben, wil ik graag de waarde aanpassen bij dat item. In het schema dus.
Maar ik wil ook kunnen aantonen wat het effect is op álle waardes van die tabel, wanneer je een deel aanpast. Dan is het makkelijker om het uit te leggen met de tabel erbij.
Vandaar mijn vraagstuk. :)
Dus cel A1 zegt '=B1' en cel B1 zegt '=A1'. Hoe ga je dan precies waarden invullen zonder de formule weg te gooien en hoe is dat geen kringverwijzing?

Acties:
  • 0 Henk 'm!

  • pagani
  • Registratie: Januari 2002
  • Niet online
Volgens mij moet dit wel kunnen door beide velden dezelfde variabele (naam) toe te wijzen.

Dan wijzig je niet de waarde van het veld maar van de variabele.

[ Voor 27% gewijzigd door pagani op 03-08-2023 22:25 ]


Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Kheos schreef op donderdag 3 augustus 2023 @ 22:24:
[...]

Dus cel A1 zegt '=B1' en cel B1 zegt '=A1'. Hoe ga je dan precies waarden invullen zonder de formule weg te gooien en hoe is dat geen kringverwijzing?
Ik heb 2 velden. In veld A zet ik "onzin". In veld B, totaal ergens anders, komt dan ook "onzin" te staan.
Pas ik veld A aan, door er "Zestien" in te zetten, staat dat ook bij veld B.

Als ik vervolgens bij veld B "apekool" zet, moet dat ook bij veld A komen te staan.
Ze zijn gelijkwaardig aan elkaar.
Als er mee gerekend wordt en er ontstaat een kringverwijzing, mag Excel dat keurig benoemen.

Acties:
  • +2 Henk 'm!

  • pagani
  • Registratie: Januari 2002
  • Niet online
Fantomaz schreef op donderdag 3 augustus 2023 @ 22:31:
[...]


Ik heb 2 velden. In veld A zet ik "onzin". In veld B, totaal ergens anders, komt dan ook "onzin" te staan.
Pas ik veld A aan, door er "Zestien" in te zetten, staat dat ook bij veld B.

Als ik vervolgens bij veld B "apekool" zet, moet dat ook bij veld A komen te staan.
Ze zijn gelijkwaardig aan elkaar.
Als er mee gerekend wordt en er ontstaat een kringverwijzing, mag Excel dat keurig benoemen.
Een andere optie hiervoor is een simpele on change macro op beide velden.

Acties:
  • +1 Henk 'm!

  • Herman
  • Registratie: December 2009
  • Laatst online: 11:41

Herman

FP ProMod
Fantomaz schreef op donderdag 3 augustus 2023 @ 21:43:
(...)
Bv dat ik veld H5 en K8 koppel, zodat ze dezelfde waarde geven, ongeacht in welke van deze velden de waarde is ingegeven?
(...)
Fantomaz schreef op donderdag 3 augustus 2023 @ 22:31:
[...]


Ik heb 2 velden. In veld A zet ik "onzin". In veld B, totaal ergens anders, komt dan ook "onzin" te staan.
Pas ik veld A aan, door er "Zestien" in te zetten, staat dat ook bij veld B.

Als ik vervolgens bij veld B "apekool" zet, moet dat ook bij veld A komen te staan.
Ze zijn gelijkwaardig aan elkaar.
Als er mee gerekend wordt en er ontstaat een kringverwijzing, mag Excel dat keurig benoemen.
Een hele lelijke 'quick and dirty' methode zou zijn:
H5:
code:
1
=ALS(K8<>0;K8;0)

K8:
code:
1
=ALS(H5<>0;H5;0)


Vervolgens ontstaat een kringverwijzing. Deze kun je 'overrulen' d.m.v. Bestand --> Opties --> Formules --> 'Iteratieve berekening inschakelen' aan te vinken. Als je vervolgens één van beide velden vult, zal de andere veld met dezelfde waarde gevuld worden. Vervolgens is ook de iteratie verdwenen. Deze oplossing werkt slechts éénmaal.

Quick and durty dus :P

Tweakers.net Moddereter Forum | Vragen over moderatie op de FrontPage? Het kleine-mismoderatietopic


Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Herman schreef op donderdag 3 augustus 2023 @ 22:52:

Een hele lelijke 'quick and dirty' methode zou zijn:
H5:
code:
1
=ALS(K8<>0;K8;0)

K8:
code:
1
=ALS(H5<>0;H5;0)


Vervolgens ontstaat een kringverwijzing. Deze kun je 'overrulen' d.m.v. Bestand --> Opties --> Formules --> 'Iteratieve berekening inschakelen' aan te vinken. Als je vervolgens één van beide velden vult, zal de andere veld met dezelfde waarde gevuld worden. Vervolgens is ook de iteratie verdwenen. Deze oplossing werkt slechts éénmaal.

Quick and durty dus :P
Wat bedoel je met "Deze oplossing werkt slechts éénmaal?"
Maar 1x in het Excel bestand?
Of dat je het betreffende veld maar 1x kunt invullen, waarna dit niet meer werkt, wanneer je de waarde in het veld aanpast?

Het klinkt wel interessant... :)

Acties:
  • +3 Henk 'm!

  • Herman
  • Registratie: December 2009
  • Laatst online: 11:41

Herman

FP ProMod
@Fantomaz
Eénmalig in de zin van, wanneer je het veld overschreven hebt is daarmee ook de formule overschreven. Ofwel als je cel H5 overschrijft en vervolgens cel K8, dan zijn beide cellen niet meer aan elkaar gespiegeld.

Als het interessant klinkt, gooi het in Excel en zie of het je de gewenste oplossing biedt ;)

Tweakers.net Moddereter Forum | Vragen over moderatie op de FrontPage? Het kleine-mismoderatietopic


Acties:
  • +2 Henk 'm!

  • Teun_2
  • Registratie: Oktober 2003
  • Laatst online: 02-10 21:19
Fantomaz schreef op donderdag 3 augustus 2023 @ 22:21:
[...]


DAn begreep je me verkeerd.
Ik weet dat krijgverwijzingen niet kunnen.
Maar wat ik wilde, was geen kringverwijzing, maar een spiegeling van 2 velden.
Dat de uitkomst van een formule waarin veld A5 is betrokken moet worden weergegeven in veld A5, is inderdaad die kringverwijzing.

Wat de opzet is:
Ik heb een tabel waar ik zaken in kan aanpassen zodat ze overzichtelijk in die tabel staan.
Ik heb ook een schema waarbij bij elk item de waardes staan die bij dat item horen.
Als ik met een instructie bezig ben, wil ik graag de waarde aanpassen bij dat item. In het schema dus.
Maar ik wil ook kunnen aantonen wat het effect is op álle waardes van die tabel, wanneer je een deel aanpast. Dan is het makkelijker om het uit te leggen met de tabel erbij.
Vandaar mijn vraagstuk. :)
Dat is eigenlijk één van de grotere beginnersfouten. Je hebt normaliter je brondata en dan weergaven op je brondata. In je weergave il je eigenlijk alleen maar het resultaat van bewerkingen weergeven en niets willen aanpassen. De aanpassingen die je op je brondata. Wat je probeert te doen gaat in tegen de normale manier van werken.

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Herman schreef op vrijdag 4 augustus 2023 @ 14:24:
@Fantomaz
Eénmalig in de zin van, wanneer je het veld overschreven hebt is daarmee ook de formule overschreven. Ofwel als je cel H5 overschrijft en vervolgens cel K8, dan zijn beide cellen niet meer aan elkaar gespiegeld.

Als het interessant klinkt, gooi het in Excel en zie of het je de gewenste oplossing biedt ;)
Dat zou zonde zijn. Ik zal enkele malen bepaalde waardes willen aanpassen vanaf 2 verschillende plekken.
Dus gaat jouw optie niet op.

Ik had verwacht dat er wel zoiets in Excel zou bestaan.
Teun_2 schreef op vrijdag 4 augustus 2023 @ 16:31:
Wat je probeert te doen gaat in tegen de normale manier van werken.
In mij optiek was het ook geen veld met de nodige funkties of berekeningen erin, maar gewoon een veld wat exact dezelfde inhoud ook in een ander veld zet.
Om even in herhaling te vallen... Ik had verwacht dat zoiet in Excel wel zou bestaan. :+

Acties:
  • 0 Henk 'm!

  • The_Vice
  • Registratie: Augustus 2002
  • Laatst online: 01:21
Fantomaz schreef op vrijdag 4 augustus 2023 @ 22:15:
Om even in herhaling te vallen... Ik had verwacht dat zoiet in Excel wel zou bestaan. :+
Niet helemaal, ik zou of voor die twee velden een verwijzing maken naar een derde cell, en dan welke functie dan ook de derde cell laten updaten, dan kunnen de andere twee die volgen.

Anders wordt het een onchange event in VBA, waarbij dan gekeken wordt naar welk veld word geupdate, en met welk veld dat dan correspondeert. Waarbij dan voor het gekoppelde veld het on changeEvent eventjes genegeerde moet worden.

Acties:
  • +1 Henk 'm!

  • Kheos
  • Registratie: Juni 2011
  • Laatst online: 00:12

Kheos

FP ProMod
Fantomaz schreef op vrijdag 4 augustus 2023 @ 22:15:
[...]

Ik had verwacht dat er wel zoiets in Excel zou bestaan.


[...]

In mij optiek was het ook geen veld met de nodige funkties of berekeningen erin, maar gewoon een veld wat exact dezelfde inhoud ook in een ander veld zet.
Om even in herhaling te vallen... Ik had verwacht dat zoiet in Excel wel zou bestaan. :+
Gebaseerd op wat?
Zoals eerder aangegeven: dit gaat in tegen de logische manier van werken in excel (en de meeste andere programma's wat dat betreft)
Ik kan ook geen enkel zinnig scenario bedenken waarin dit de beste laat staan enige oplossing zou zijn.

Acties:
  • 0 Henk 'm!

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 01:00
pagani schreef op donderdag 3 augustus 2023 @ 22:34:
[...]

Een andere optie hiervoor is een simpele on change macro op beide velden.
Dit... Maak een functie die beide cellen controleert of er een wijziging is. Bij de verandering van de ene cell, wordt de waarde die van de andere en wordt de gewijzigde cel terug op formule gezet.

Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 12:08

Dido

heforshe

Fantomaz schreef op donderdag 3 augustus 2023 @ 22:31:
Als er mee gerekend wordt en er ontstaat een kringverwijzing, mag Excel dat keurig benoemen.
Door in allebei de cellen een formule te zetten ben je er al mee aan het rekenen ;)
Het wordt geen kringverwijzing, je definieert het al als kringverwijzing.
Fantomaz schreef op vrijdag 4 augustus 2023 @ 22:15:
Ik had verwacht dat er wel zoiets in Excel zou bestaan.
Je verwachting klopt, maar niet als formule (want dan staat in elke cel een formule of een waarde, beide kan nog niet (tot we quantumcellen introduceren :P )

Maar je kunt wel VBa gebruiken. Dat is niet zo simpel als het lijkt.
Als het om precies twee cellen gaat dan kan ChatGPT het zo voor je regelen, maar als het om veel paren cellen gaat wordt het een zeer uitgebreide administratie :|

Wat betekent mijn avatar?


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Fantomaz schreef op donderdag 3 augustus 2023 @ 21:43:
Bestaat er een optie om velden over en weer aan elkaar te koppelen? Bv. dat ik veld H5 en K8 koppel, zodat ze dezelfde waarde geven, ongeacht in welke van deze velden de waarde is ingegeven?
Ja, dat bestaat; doe het volgende:
- Klik links-onderaan met de rechtermuisknop op de naam van het blad waarin je wil bewerkstelligen wat je wil, en klik in het verschijnende menu met de linkermuisknop op: "Programmacode weergeven". Je komt dan in de vba-editor.
- Dubbelklik in de linkerkolom op de naam van het gekozen blad (bv. 'Blad1'), kopieer onderstaande code en plak die aan de rechterkant in het grote witte blanco vlak.
- Sluit het venster door op het kruisje rechtsboven te klikken, je komt dan terug in het werkblad.
- Voer wisselend wat in in H5 en K8 en bekijk het resultaat.
- Succes ermee!

code:
1
2
3
4
5
6
7
8
9
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Range("H5"), Target) Is Nothing Then
Range("K8") = Range("H5")
End If
If Not Intersect(Range("K8"), Target) Is Nothing Then
Range("H5") = Range("K8")
End If
End Sub

NB: Code gewijzigd op 05-08-2023, 17.11 uur.

[ Voor 10% gewijzigd door dix-neuf op 05-08-2023 17:11 ]


Acties:
  • +1 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 12:08

Dido

heforshe

@dix-neuf Voor twee cellen is dat nog te doen, maar ik vermoed dat het om flink meer koppeltjes gaat. En we weten niet eens of de cel-adressen constant zijn. Dat wordt een flinke lap code om dat voro een paar tientallen, honderden of zelfs duizende cellen te doen. En je kunt je lol op als er ergens een koppeling verkeerd in de code terecht komt, want dat zie je dus gewoon niet fout gaan op het moment dat het fout gaat.

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
Bedankt voor de input mensen.

Hoewel ik er nu verder niets mee ga doen omdat het te omslachtig is voor een leek als ik én omdat ik het voor lief heb genomen dat ik maar op 1 punt de wijziging kan invoeren. So be it.

En daarover dan nog even wat verduidelijking... Ik kan me niet herinneren dat ik heb gesteld dat ik in de "gespiegelde" velden formules wil plaatsen. Maar misschien was ik wat onduidelijk.

Ik wil(de) graag 2 velden die identiek waren qua inhoud.
Pas ik (bv) veld B5 aan, moet hetzelfde gebeuren in H9. Pas ik H9 aan, moet hetzelfde komen te staan bij B5.
Waarom? (voor degenen die claimen daar geen voorstelling bij te kunnen maken)

Als ik in een tabel wijzigingen wil doorvoeren, moeten de resultaten meteen in de tabel zichtbaar zijn.
Maar omdat die waardes in de tabel ook terugkomen in grafieken, wil ik -wanneer ik in de "grafiekmodus" een uitleg geef- hier de variabelen van veld B2 kunnen aanpassen om het resultaat te kunnen laten zien.
Ga ik dan terug naar de tabel, moet het resultaat ook meteen zichtbaar zijn.

En dat is precies wat ik doe. Ik leg eea uit adhv grafieken en/of adhv de tabel. Net waar ik op dat moment de focus op heb in de instructie.

Maar goed. Even simpelweg gekeken bestaat er geen button die 2 velden "koppelt" of "spiegelt" zodat ze hetzelfde doen. Het had me wat gescheeld.
Ik kan de lamp in de slaapkamer ook uitzetten met de schakelaar bij mijn bed, en weer aanzetten bij de deur. Of andersom natuurlijk... Dus echt gek zou het idee niet zijn.
Vooropgesteld natuurlijk dat er geen formules aan geknoopt zitten. ;)

Acties:
  • +1 Henk 'm!

  • dix-neuf
  • Registratie: Juli 2018
  • Niet online
Fantomaz schreef op maandag 7 augustus 2023 @ 22:22:
Ik wil(de) graag 2 velden die identiek waren qua inhoud. Pas ik (bv) veld B5 aan, moet hetzelfde gebeuren in H9. Pas ik H9 aan, moet hetzelfde komen te staan bij B5.
Dat is toch wat gebeurt als je toepast wat ik hierboven schreef?
Even simpelweg gekeken bestaat er geen button die 2 velden "koppelt" of "spiegelt" zodat ze hetzelfde doen. Het had me wat gescheeld.
Dit begrijp ik niet. Wat wil je dan anders dan wat ik aangaf?

Acties:
  • 0 Henk 'm!

  • Fantomaz
  • Registratie: Januari 2006
  • Laatst online: 26-05 20:55
dix-neuf schreef op woensdag 9 augustus 2023 @ 07:45:
[...]
Dat is toch wat gebeurt als je toepast wat ik hierboven schreef?

[...]
Dit begrijp ik niet. Wat wil je dan anders dan wat ik aangaf?
Sorry Dix,
De reactie op jouw post ontmoedigde mij even. Ik meende ook ergens te hebben begrepen dat het maar iets eenmaligs was. Maar dat was een andere oplossing.

Ik ben even met een ander facet bezig van het project. Ik ga hier later weer even in duiken. _/-\o_
Pagina: 1