Toon posts:

[Excel 2003] vergroot of verkleinteken uit andere cel halen

Pagina: 1
Acties:
  • 125 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Momenteel heb ik de volgende formule (vereenvoudingd)

if(A1>A2)

Beide waardes haal ik dus uit de cellen A1 en A2, nu wil ik echter het vergrootteken ">" ook uit een andere cel halen, zodat je het bijvoorbeeld in een verkleinteken kan veranderen. Hier kom ik echter niet uit, zowel gewoon in excel danwel in VBA.

Mijn vraag is dus hoe je een in een formule een celverwijzing kan doen naar een cel waar geen numerieke waarde staat, en die onderdeel is van de formule.

Ps. Ben dus niet geinteresseerd in de oplossing if(..=...; A1>A2,A1<A2)

  • onkl
  • Registratie: Oktober 2002
  • Nu online
Bekijk de formule "INDIRECT" eens. Iets als =INDIRECT("A1"&A3&"A2",true) (let op de aanhalingstekens) zou wel eens kunnen werken.

Verwijderd

Topicstarter
Werkt helaas niet, maar denk dat het wel in deze richting zit. Ben wel benieuwd wat de functie van het &-teken is.

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Wat je zoekt is een eval() functie die een tekst kan interpreteren als een formule. , Die zit in bv access vba standaard ingebakken, maar Excel kent hem afaik niet. :'(
Behalve zelf parsen (wat je dus niet wilt) of een workaround die een formule in een cel plaatst en vervolgens weer uitleest (wat nogal buggy werkt in Excel 2k3) heb je dus weinig mogelijkheden.


evaluate() dussch

[ Voor 4% gewijzigd door Lustucru op 02-01-2007 14:33 ]

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


  • onkl
  • Registratie: Oktober 2002
  • Nu online
Het & gebruik je om een aantal strings te combineren. Na de help er even op nageslagen te hebben, ben ik bang dat =INDIRECT je niet helpt, die geeft alleen geparsede celverwijzingen terug. Je kan een eigen VBA functie overwegen.

Verwijderd

Topicstarter
Naar de eigen VBA functie heb ik ook naar gekeken en kijk ik nogsteeds naar. Ben alleen bang dat ik daarin ook niet zoiets kan maken. Je kan zelf allerlei functies maken, maar geen waarbij je een gedeelte van een formule als text uit een andere cel haalt.

  • onkl
  • Registratie: Oktober 2002
  • Nu online
Verwijderd schreef op dinsdag 02 januari 2007 @ 13:08:
Naar de eigen VBA functie heb ik ook naar gekeken en kijk ik nogsteeds naar. Ben alleen bang dat ik daarin ook niet zoiets kan maken. Je kan zelf allerlei functies maken, maar geen waarbij je een gedeelte van een formule als text uit een andere cel haalt.
Je kan ook een on_change event maken waarbij iedere keer als de cel met < of > wordt veranderd, de formule opnieuw in de cel wordt gezet, met het goede teken.

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

VBA evaluate, dus bv:
code:
1
2
3
Function wsEval(arg1,arg2,operator)
      wsEval=application.evaluate(arg1 & operator & arg2)
End Function


En dat kun je oproepen vanuit een werkblad met bv
code:
1
=wsEval(A1;B1;C1)

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


Verwijderd

Topicstarter
geweldig! Dit is wat ik zoek. Had net een functie in VBA ingevuld met de "if" functie zoals ik hem dus eigenlijk niet wilde doen. Dit werkte ook wel, maar werkte niet lekker, omdat dit wat zwaarder is. Dit werkt goed! bedankt
Pagina: 1