[VBA] Functies werken niet meer in Excel

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

  • EvdB
  • Registratie: November 2001
  • Laatst online: 31-08 20:18
Ik heb in een module, functions gedefinieerd. De manier van berekenen wordt op handmatig gezet wanneer de workbook wordt geopened (Auto_Open).
Wanneer ik nu de functie aanroep op een worksheet en de worksheet laat berekenen (Activesheet.Calculate) krijg ik nog steeds #Value! in de Cell. Weet iemand wat er aan de hand is?

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

nare gewoonte van Excel. Welke versie heb je? Bij Excel 97 is het helemaal erg weet ik (recalculation bug). Zijn ook bugfixes voor (niet publiek overigens.. omdat officieel MS niets van deze bug wil weten.. want hee... Excel die niet kan rekenen? wat heb ik er dan aan.. maar goed).
Er is geen straightforward oplossing hiervoor. Wel kun je het volgende proberen in je code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Sub RecalculateSheet()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

ActiveCell.CurrentRegion.Select 'selecteren van de huidige regio van waarden
ActiveSheet.Replace What:="=", Replacement:="=", LookAt:=xlPart 'vervang = teken en forceer Excel tot rekenen

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True


End Sub


als je teveel (wat is teveel?) zelf gedefenieerde functies gebruikt in worksheets, heb je problemen met deze code denk ik, omdat die met Application.Calculation = xlCalculationAutomatic de vba functies eerst wordt aangeroepen...
Anders kun je nog ipv de = teken regel deze regel proberen:
code:
1
SendKeys "+{F9}", True

Dit forceert excel de huidige sheet door te rekenen...
maar ja allemaal lapmiddelen.. als je teveel vba functies gebruikt op je worksheet..
succes

  • EvdB
  • Registratie: November 2001
  • Laatst online: 31-08 20:18
Ik heb verschillende functies en andere subs in mijn excel file. Ik wil niet dat de berekeningen automatisch gebeuren omdat ik circular references heb. Er zitten verschillende iteratie stappen in die ik handmatig wil uitvoeren.
De Auto_Open macro werkt wel, maar als ik daarna een zelfgedefinieerde functie in een cell type krijg ik de melding.

The macros in this project are disabled. Please refer ....bla..bla...bla

Waarom zijn die macros disable terwijl mijn security op low staat. Wanneer ik de security op medium zet en daarna enable van macros klik bij opstarten werk het ook al niet.

BTW, ik werk met OfficeXP en Office2000.

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

waarom heb je circular references? Dat gooit al helemaal roet in het eten wat betreft recalculeren... dat kan niet anders?
Wat voor iteratiestappen heb je het over precies?
Als je de security optie op medium zet ...en dan nog enable macros doet... een beetje raar verhaal...eigenlijk.. riekt naar een probleem in het workbook (die niet te traceren is).

Ik weet ook dat Excel vol met verrassingen zit... daarom is er nog een volgende optie: Als je nu alle worksheets + alle gemaakte modules (met de zelfgedefenieerde functies) naar een nieuw werkboek kopieert (verwijzingen nu ook recht zetten naar deze werkboek).. dat kan namelijk zo maar het een en ander verhelpen. Heb ik eens een keer gehad, met een zeer groot sheetje (zeg zo'n 120 Mb groot .. was ik wel ff mee bezig).

  • EvdB
  • Registratie: November 2001
  • Laatst online: 31-08 20:18
Ik denk dat alle modules en form exporteren en importen toch de beste oplossing is. Ik ben al bezig om een vorige werkende versie te updaten.
Zou het kunnen zijn dat doordat ik het bestand geopend heb met OfficeXP en daarna weer met Office2000 dat de workbook corrupt is geworden?

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Lijkt me niet...eigenlijk...Was je de file over het netwerk aan het kopieren?

  • EvdB
  • Registratie: November 2001
  • Laatst online: 31-08 20:18
Ik sla de file wel op het netwerk op, maar ik heb hem van het netwerk naar een floppy gekopieerd, want OfficeXP staat op een computer die niet aan het netwerk hangt. Daarna weer met floppy naar netwerk gekopieerd.

Maar wat heeft dat hiermee te maken?
Pagina: 1