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

Verwijzing naar cellen vanuit de vergelijkingseditor.

Status
Niet open voor verdere reacties.

Pieter671

Gebruiker
Lid geworden
26 jun 2015
Berichten
100
Best forumlid,

Voor een Excel 2013 model wil ik graag de variabelen binnen een vergelijking (via de vergelijkingseditor) koppelen aan bepaalde cellen.
Zie hiertoe bijgevoegd voorbeeld.

Weet iemand hoe je de notatie van de variabelen in een vergelijking kan koppelen aan de betreffende cellen in een tabblad?
Mag ook eventueel wel met VBA.
 

Bijlagen

  • Formule notatie met verwijzing.xlsx
    11,3 KB · Weergaven: 25
Laatst bewerkt:
hallo Pieter, ik neem aan dat die punt in jouw formule staat voor vermenigvuldigen,
en dat je Pi zelf moet invullen, dan krijg je zo iets: zie grijze cellen
ps ik heb wat namen aangemaakt voor de leesbaarheid van de formule.
 

Bijlagen

  • Formule notatie met verwijzing sp.xlsx
    13,2 KB · Weergaven: 11
Sylverster, zoals ik het begreep wil TS de onderste formule (het plaatje!) aanpassen aan de ingevulde cellen D4 t/m D10.

Leek mij een lastig verhaal, maar ben vaker positief verrast hier.
 
Moesten wij vroeger zo schrijven:

AEPMz6vtOUcCAAAAAElFTkSuQmCC
 

Bijlagen

  • formul1.png
    formul1.png
    14 KB · Weergaven: 45
Laatst bewerkt:
@sylvester-ponte, het gaat mij niet om de formule in een cel, maar juist om de koppeling in de geschreven formule (plaatje) naar de betreffende cellen in het tabblad, de cellen die geel gearceerd zijn.

Wanneer de gele cellen veranderen, verandert ook de tekst (waarden) in de formule (het plaatje).

@AlexCEL, precies zoals jij beschrijft. Zelf ben ik ook heel benieuwd en laat mij hier dan ook graag verrassen.
 
Ziehier de verrassing:

- De formule (shape) is gekopieerd en heeft de naam 'snb' gekregen.
- De macro 'M_snb' in Blad1 verricht het werk in shape 'snb'

Bijlage vervangen vanwege een vereenvoudigde macro.
 

Bijlagen

  • __formule.xlsb
    17,8 KB · Weergaven: 19
Laatst bewerkt:
snb, zie toegevoegde regel
Code:
Sub M_snb()
   sn = Blad1.Range("C1:C4")
   
   With Blad1.Shapes("snb").TextFrame2.TextRange
   c = .Words.Count: Stop 'c is maar 5 dan gaat de rest niet werken. ik ben benieuwd naar je oorspronklijke versie
       For j = 1 To 7
         .Words(Choose(j, 44, 40, 36, 30, 26, 16, 10)).Text = sn(Choose(j, 3, 2, 1, 3, 2, 4, 4), 1)
       Next
   End With
End Sub
 
@Sylv.

Geen idee wat jij doet.
Als ik het hier geplaatste bestand open bevat de shape 'snb' 45 Words.
 
@ snb,

Zou het misschien aan de Office-versie kunnen liggen?
Zelf heb ik 2019 Prof en constateer hetzelfde als Sylvester.
 
@enigma.

Ik werk met Excel 2010 en kan niet vergelijken met andere versies.
Als je naar de formule kijkt lijken mij er sowieso meer dan 5 elementen in te zitten.
Hoe tot 5 'words' gekomen wordt is wat vreemd.
 
Ik blijf het zelf ook vreemd én uitdagend vinden...
Mocht het nog voor iemand enig nut hebben, de 5 'words' die bij mij gevonden worden zijn in volgorde:

=


∗ − −
 
@enigma

Kun je bij jou dan het aantal characters tellen ?

Code:
Blad1.Shapes("snb").TextFrame2.TextRange.Characters.Count
Hier zijn er dat 102
 
Alternatief met Characters (als het er 102 zijn)

Code:
Sub M_snb()
  sn = Blad1.Range("C1:C4")
   
  With Blad1.Shapes("snb").TextFrame2.TextRange
    For j = 1 To 7
      .characters(Choose(j, 100, 88, 72, 67, 52, 26, 11)).Text = sn(Choose(j, 3, 2, 1, 3, 2, 4, 4), 1)
    Next
       
'   For j = 1 To 7
'     .Words(Choose(j, 44, 40, 36, 30, 26, 16, 10)).Text = sn(Choose(j, 3, 2, 1, 3, 2, 4, 4), 1)
'   Next
  End With
End Sub
 
Laatst bewerkt:
@ snb,

Characters tellen resulteert hier in een fout "Ongeldig gebruik van een eigenschap" ("count" dus)
MAAR: je methode om via characters te vervangen doet het dan weer wel !
 
Excel 2019 is dus ten opzichte van Excel 2010, zoals de Duitsers zeggen een 'Verschlimmbesserung'.:evil:

Misschien hanteert MS nu ipv .count de eigenschap .length (zoals in HTML).
 
Laatst bewerkt:
@ snb,
Even gepauzeerd wegens andere verplichtingen en niet door tanende interesse!
Length geeft hier dezelfde foutmelding.

Stel dat we, ook nu het van TS' kant al een tijdje stil blijft, het helemaal goed willen doen (al blijft het praktische nut voor mij een mysterie, enkel voor de uitdaging dus), dan zullen we nog een klein stapje verder moeten gaan.
Ook al kan ik characters niet geteld krijgen, ik kan ze wel tevoorschijn halen, en dan blijken het er inderdaad 102 te zijn.
Alleen: na uitvoering van de character-methode is dat aantal gereduceerd tot 63. Als de broncellen daarna worden gewijzigd zal de volgende keer niet meer lukken (het komt mij voor dat dit de bedoeling was aangezien TS spreekt over een koppeling in de formule naar de cellen).
Dat hoeft geen zwaar probleem te zijn: het originele tekstvak op een (verborgen) werkblad zetten, en een change-event gebruiken dat het tekstvak op Blad1 verwijdert en er vervolgens een kopie van het oorspronkelijk zet moet volstaan, t.t.z. als bijkomende instructies vóór jouw code.
Mocht je nog zin hebben, dan zou je misschien kunnen checken of 45 'words' ook verminderd is na uitvoering?

Excel 2019 is dus ten opzichte van Excel 2010, zoals de Duitsers zeggen een 'Verschlimmbesserung'
Ik hou die downgrade toch nog even in beraad :D
 
De wijziging van het aantal characters lijkt me onvermijdelijk :
- omdat unicodetekens (met inherent dubbele posities) worden vervangen door ASCII-teksn (inherent enkelvoudig)
- de vervangende getallen qua aantal tekens afwijken van de bestaande tekens
- daarom voer ik de vervanging ook van achteren naar voren uit

Het ten tweede male uitvoeren van een wijziging van de gewijzigde formule lijkt mij geen begaanbare weg.
De te zoeken elementen, zoals vermeld in B1:B4 ontbreken namelijk in de gewijsigde formule.
De gewijzigde formule moet daarom beschouwd worden als een definitief resultaat, niet als iets dat nog verder bewerkt kan worden.
Dat lijkt mij ook niet de bedoeling van de TS.

Belangrijker lijkt mij een koppeling te leggen tussen de gegevens in B1:B4 en de elementen van de oorspronkelijke vergelijking.
Bij de huidige invulling van B1:B4 gaat dat niet lukken; met een kleine bewerking wel.
Die zal ik plaatsen als klaar en getest.
 
Laatst bewerkt:
Het ten tweede male uitvoeren van een wijziging van de gewijzigde formule lijkt mij geen begaanbare weg.
De gewijzigde formule moet daarom beschouwd worden als een definitief resultaat, niet als iets dat nog verder bewerkt kan worden.
Dat is waarom ik in mijn vorige post een workaround in gedachten had. Omdat doen meestal wat meerwaarde heeft t.o.v. uitleggen hierbij het uitgewerkte idee.
Jouw aversie tegen Select kennende staan er in mijn code, bij wijze van vloeken in de kerk, niet één maar zelfs twee. Ik ben dan ook maar een amateurtje ;)
 

Bijlagen

  • __formule_2.xlsb
    20,9 KB · Weergaven: 16
Laatst bewerkt:
@Enig

Ik zie wat je doet.
Maar ik blijf het te statisch vinden: de nummers van de characters zijn 'hard gecodeerd'.
In het bestand hieronder zijn in B1:B4 de zoekelementen als 'shapes/vergelijkingen' ingevoerd.

In het bestand dat ik hier plaats zie je bovendien een kopieermethode zonder 'select'

Let op:
- in de macro 'M_snb' staan 2 methoden:
- gebaseerd of 'Words'
- gebaseerd op 'characters'
- beide methoden geven gewenste en identieke resultaten in Excel 2010.

Ik kan in Excel 2010 niet nagaan wat in Excel 2019 de bovengrens is van het aantal 'Words' of 'Characters'.
In de methode met 'Characters' kun je, als characters.count of characters.length niet funktioneert gewoon het getal 102 invoeren.
 

Bijlagen

  • __formule.xlsb
    26 KB · Weergaven: 23
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan