Toon posts:

[VBA/Excel] Updaten worksheets lukt niet

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

Verwijderd

Topicstarter
Ik ben bezig met een maandrapportage in Excel. Hiervoor haal ik waardes uit een zgn 'data historian' (voor Proces automatisering) met behulp van een SDK. De waardes ophalen gaat op zich goed.

Ik heb mbv van een form 2 invoervelden voor maand en jaar. Deze sla ik op in 2 globale variablen. Nadat dit gewijzigd is, wil ik dat alle velden opnieuw berekend worden. Ik doe dit nu:

code:
1
2
3
4
For Each mySheet In ActiveWorkbook.Sheets
        mySheet.Cells.Calculate
        mySheet.Calculate  
    Next


(is volgens mij dubbel op, maar dat doet er even niet toe)

Ik heb een veldje met een formule '=now()'. Deze update wel goed. Maar, een ander veld, waarbij ik gewoon het maand/jaar uit de globale variablen haal, wil niet updaten. Als ik deze handmatig in Excel update gaat het wel goed (maar ik wil het automatiseren).

Waar kan dit aan liggen?

Verwijderd

wat bedoel je met globale variabele?
als je een gedefinieerde naam bedoelt, kan je in de formule hiervan, of in de cel zelf +now()*0 toevoegen.
gaat het om een udf, moet application.volatile als eerste opdracht ingevoegd worden om deze mee te laten herbereken.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:52

Creepy

Tactical Espionage Splatterer

Excel is een office achtig product. Ook vragen over VBA horen thuis in Officesuites en -software. Move Programming -> Officesuites en -software

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 09-07 19:01
Kun je laten zien hoe je de globale variabelen in de cell verwerkt.

Verwijderd

Topicstarter
De globale variable haalde ik op DMV een VBA functie.

Ik heb inmiddels de oplossing gevonde. Ipv dat ik een sheet, of alle cellen update, moet ik een geforceerde Calculate op het applicatie object uitvoeren. Hierdoor word alles opnieuw berekend. Ik denk dat hij het niet deed met de normale Calculate functie van het Worksheet object omdat hij de functies die de (verandere) variablen ophaalde niet zag als verandering.

Bedankt voor de input in ieder geval

  • Bolukan
  • Registratie: Oktober 2002
  • Laatst online: 09-07 19:01
Een Vba functie die vanuit een werkblad wordt aangeroepen, wordt alleen ge-update indien de parameter(s) wijzig(en/t). Zonder parameter vindt herberekening alleen plaats bij een geforceerde herberekening.
Pagina: 1