Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Excel 97 herrekenen waarde in een cel met gebruikersfunctie

nicwilms
5 antwoorden
  • Ik kom het volgende probleem tegen binnen een werkblad met twee bladen en een eigen gemaakte gebruikersfunctie. Blad 1 bevat gegevens in een matrixvorm die worden bijgewerkt vanuit een andere toepassing.

    In blad 2 van het werkblad roep ik in diversie cellen een eigen gedefinieerde gebruikersfunctie op. Voorbeeld:

    In cel A2 in blad 2 staat de gebruikersfunctie = ret_cy("1500").

    Deze Cel toont nu een opgezochte waarde uit blad 1 bijvoorbeeld het getal -50.00.

    Via een bijwerkfunctie wordt in blad 1 een nieuwe waarde voor de functie ret_cy("1500") vastgelegd bijvoorbeeld het getal -85.00.

    In blad 2 in cel A2 staat echter nog altijd de waarde -50.00 terwijl hier eigenlijk -85.00 zou moeten staan. Pas als ik zelf op de cel A2 ga staan en op de F2 toets druk gevolgd door de Enter-toets wordt de nieuwe waarde -85.00 getoond.

    Wie weet tips of trucs om het hierboven beschreven probleem aan te pakken.
  • Heb je bij de menu optie Extra; tabblad Berekenen: berekening op "Automatisch" staan?

    Of misschien een regeltje code toevoegen in de functie om het herrekenen te forceren:
    Worksheets("Bladnaam").Calculate
  • of je zet die code uit blad 2 in blad 1 , en verwijst daarna via
    =Blad!Cel,Rij (geen idee of dat ut probleem oplost)
  • Beste Dymic,

    De door jouw aangebrachte oplossing werkt perfect. Bij het menu optie Extra; tabblad Berekenen: berekening op "Automatisch" staat inderdaad al aan. Dit bracht dus geen uitkomst.

    Het forceren van het herrekenen van het tweede werkblad werkt perfect. Worksheets("Bladnaam").Calculate. De .calculate method heb ik nu in een aparte macro ondergebracht. Deze kan ik op een gewenst tijdstip aanroepen en wordt nu ook direct na het bijwerken van de gegevens in werkbad 1 aangeroepen.

    Nogmaals bedankt voor deze tip
  • Hoi Nicwilms,

    N.a.v. van je bericht in mijn box, plaats ik e.e.a. even op het forum. Zodoende kunnen anderen er misschien ook enige kennis mee opdoen en last but not least heb jij eerder kans geholpen te worden. Tenslotte weten 2 (of meer) mensen meer dan 1.

    [quote:95258d86bd]Beste Dymic,

    Helaas werkt de aangedragen methode alleen als ik via menu Extra; keuze Macro; een macro wijzig. Indien ik de macro de eerste maal oproep dan wordt er netjes herberekend.

    Indien ik de tweede keer de macro oproep voor het bijwerken van de berekenen in blad twee dan gebeurt er niets ook al zijn er in blad 1 in via Microsoft Query nieuwe gegevens binnengehaald.

    Ik heb de onderstaande commando's opgenomen in de betreffende macro:

    ActiveWorkbook.RefreshAll

    Calculate

    Het herrekenen of het gebruik van de F9 toets heeft in Excel 97 schijnbaar pas effect bij mij indien ik een wijziging aanbreng in de macro zelf en deze wijziging opsla. Ik sta voor een raadsel.[/quote:95258d86bd]

    En als je de Calculate methode aan roept vanuit een event? Deze code plaats je in "Microsoft Excel -objecten" - "ThisWorkbook", dus niet in een module
    [code:1:95258d86bd]Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    Worksheets("Bladnaam").Calculate
    End Sub[/code:1:95258d86bd]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.