Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: formule omzetten in waarde  (gelezen 6350 keer)

0 leden en 1 gast bekijken dit topic.

Offline Justaguy

  • Lid
  • *
  • Berichten: 86
  • Wie zoekt, die vindt ... het in Oplossing.be
formule omzetten in waarde
« Gepost op: 24 maart 2007, 20:52:45 »
Hoe kan men een cel met een berekening onmiddellijk (en automatisch bv. in VBA) omzetten in de eigenlijke waarde (dus zonder formule)?
bv.
    For y = 1 To 7
        ActiveCell.Offset(0, y * 3).FormulaR1C1 = "=max(..)

       en hier zo dit veld iedere keer naar de eigenlijke waarde moeten omgezet worden ...
    Next y
SYSTEEM: AMD Athlon 1Ghz - 256Mb RAM - Win XP - Office2003 – kabel)

Online RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.284
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: formule omzetten in waarde
« Reactie #1 Gepost op: 24 maart 2007, 22:01:16 »
Justaguy, Ik snap je vraag geloof ik niet helemaal. Bedoel je (als voorbeeld): normaal zou je in cel A1 de formule "=Max(A2:A10)" zetten om het hoogste getal in de range A2 t/m A10 te vinden. Maar nu wil je geen formule in cel A1 zien maar direct een waarde.

Tuurlijk kan je dit regelen vanuit VBA. Er moet dan wel een 'gebeurtenis' zijn, waarom je code moet gaan lopen. Dit kan dmv een button in je sheet of door een van de 'sheet-events' die VBA-Excel zelf al biedt. Voorbeeld voor een berekening via VBA...Sub test()

    Range("A1").Value = Application.WorksheetFunction.Max(Range("A2:A10"))

End Sub

Nog ff over je 'For-Next' lus. Je doet een offset die met sprongen naar rechts toe schiet. Was dat de bedoeling? Je start vanuit cel A1 (bijvoorbeeld) en gaat dan 3 stappen naar rechts (cel D1), en dan steeds weer 3 stappen naar rechts (volgende = cel G1) om te eindigen bij cel V1.

Als dit het antwoord is dat je zocht, alsjebllieft. Zo niet, stel je vraag opnieuw (en eventueel met voorbeeldsheet).
Groet, Leo
______________________________

Groet, Leo

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: formule omzetten in waarde
« Reactie #2 Gepost op: 24 maart 2007, 22:57:54 »
Hello, Justaguy,

Er zijn enkele manieren om dit te doen

dit is de eenvoudigst te begrijpen en je hebt er geen denkwerk meer aan
With ActiveCell.Offset(0, y * 3)
.FormulaR1C1 = "=max(..)
.Value = .Value
End With

anderzijds is de functie EVALUATE daarvoor gemaakt
een voorbeeld
Range("A11") = Evaluate("=MAX(A1:A10)")
1ste methode werkt voor alle soorten formules
nog andere manieren zijn
2de in veel gevallen

onderstaande zijn specifiek voor MAX
Range("A11") = Application.Max(Range("A1:A10"))

Range("A11") = Application.WorksheetFunction.Max(Range("A1:A10"))
beste groeten,
Erik

Offline Justaguy

  • Lid
  • *
  • Berichten: 86
  • Wie zoekt, die vindt ... het in Oplossing.be
Re: formule omzetten in waarde
« Reactie #3 Gepost op: 25 maart 2007, 21:11:40 »
Citaat
With ActiveCell.Offset(0, y * 3)
.FormulaR1C1 = "=max(..)
.Value = .Value
End With
Thx guys, dit was wat ik eigenlijk zocht. Weer excel-kennis erbij en een stapje dichter bij de oplossing  :)
SYSTEEM: AMD Athlon 1Ghz - 256Mb RAM - Win XP - Office2003 – kabel)

 


www.combell.com