Niet alle Excel-werkbladfuncties worden ondersteund als methoden voor het Application-object in Visual Basic for Applications


Zie 107564 voor een Microsoft excel-97 en eerder-of Microsoft Excel 98-editie of eerdere versie van dit artikel.

Samenvatting


In Microsoft Visual Basic for Applications worden niet alle Microsoft Excel-werkbladfuncties ondersteund als methoden voor het Application -object. Als u een van deze werkbladfuncties met het object Application probeert te gebruiken, wordt het volgende foutbericht weergegeven:
Runtimefout ' 438 ': object biedt geen ondersteuning voor deze eigenschap of methode

Meer informatie


U kunt een Visual Basic-procedure schrijven waarmee u Microsoft Excel-werkbladfuncties kunt bellen. De werkbladfuncties die beschikbaar zijn voor Visual Basic-procedures, bevinden zich in het object Application en worden vermeld in de lijstmethoden of Eigenschappen voor het object Application in de Visual Basic-objecten browser. de meeste werkbladfuncties die niet beschikbaar zijn omdat methoden van het objectApplication een equivalente ingebouwde operator of functie van Microsoft Visual Basic hebben. Zo is de werkbladfunctie rest niet beschikbaar als methode van het object Application , omdat er een overeenkomstige rest -operator is ingebouwd in Visual Basic. Een Visual Basic-operator werkt sneller dan een Microsoft Excel-functie in een Visual Basic-module.

Werkbladfuncties in Excel die beschikbaar zijn als methoden in Visual Basic

Opmerking: in de volgende stappen is ervan uitgegaan dat u het Help-bestand voor Visual Basic hebt geïnstalleerd. Voer de volgende stappen uit om een lijst weer te geven met alle Microsoft Excel-werkbladfuncties die beschikbaar zijn als methoden van het Application -object in Visual Basic:
  1. Typ werkbladfuncties in de Microsoft Office-assistent in de Visual Basic editor en klik vervolgens op zoeken.
  2. Klik in de lijst met onderwerpen op lijst met werkbladfuncties die beschikbaar zijn voor Visual Basic.
Ga als volgt te werk als u wilt zoeken naar een vergelijkbare Visual Basic-operator of-functie voor een Microsoft Excel-werkbladfunctie die niet beschikbaar is als een Application -object methode:
  1. Typ in de Visual Basic editor de naam van de functie of de operator in de Office-assistent en klik vervolgens op zoeken. Typ bijvoorbeeld mod.
  2. Selecteer in de lijst met onderwerpen het onderwerp voor de functie of operator. Klik bijvoorbeeld op het onderwerp rest operator .
De volgende tabel bevat werkbladfuncties die niet beschikbaar zijn als methoden van het object Application . De kolom visuele basis-equivalent bevat functies die u kunt gebruiken om dezelfde resultaten te geven als (of vergelijkbaar met), waardoor de functies resulteren.
   Microsoft Excel                   Visual Basic   worksheet function                equivalent   -------------------------------------------------------------------   ABS()                             Abs function   ATAN()                            Atn function   CHAR()                            CHR function   CODE()                            ASC function   COS()                             Cos function   DATE()                            DATESERIAL function   ERROR.TYPE()                      ERR function   EXACT()                           STRCOMP function   EXP()                             Exp function   INDIRECT()                        No direct equivalent - use Range,                                     Cells, Offset, or any other way of                                     referencing cells.   INFO()                            No direct equivalent - use the                                     following:                                     CURDIR function, the following                                     Application properties (MEMORYTOTAL,                                     MEMORYUSED, MEMORYFREE, VERSION,                                     OPERATINGSYSTEM, CALCULATION, COUNT)   ISBLANK()                         ISEMPTY function   ISREF()                           TYPENAME function   LEN()                             LEN function   LOWER()                           LCASE function   N()                               No equivalent (none needed)   NA()                              No equivalent - use                                     ActiveCell.Value = "#N/A"   RAND()                            RND function   RANDOMIZE()                       Randomize function   SIN()                             Sin function   SIGN()                            Sgn function   SQR()                             Sqr function   SQRT()                            Sqr function   T()                               No equivalent (none needed)   TAN()                             Tan function   TODAY()                           DATE function   TRUNC()                           FIX function   TYPE()                            TYPENAME function   UPPER()                           UCASE function   VALUE()                           VAL function 
Opmerking: de functie Microsoft Excel-werkblad en de equivalente operator of functie van Visual Basic worden niet altijd op dezelfde manier berekend en kunnen verschillende resultaten geven, zelfs als ze dezelfde naam hebben. Met de operator of functie van Visual Basic is de voorkeur voor betere snelheid en flexibiliteit in berekeningen. Daarnaast is de operator of functie Visual Basic beschikbaar voor alle toepassingen die werken met Microsoft Visual Basic for Applications. Hoewel het u wordt geadviseerd de Visual Basic-operatoren of-functies te gebruiken die worden weergegeven in de bovenstaande lijst, zijn er alternatieve methoden voor het gebruik van de werkbladfuncties in een Visual Basic-macro, indien nodig. Als voorbeeld kunt u het werkblad BOOGTAN van een Visual Basic-macro gebruiken met behulp van de functies ExecuteExcel4Macro of Evalueer :
   x = Application.ExecuteExcel4Macro("Atan(12)") 
-of-
   x = Application.Evaluate("Atan(12)")