2009-08-31 8 views
2

J'ai une fonction Excel VBA qui prend un certain nombre de paramètres optionnels, y compris une gamme en option:VB.NET équivalent d'argument optionnel Range dans la fonction VBA

Function DazBeta(A As Range, Z As Range, _ 
     B As Integer, _ 
     Optional Freq As Integer = 1, _ 
     Optional c As Double = 0, _ 
     Optional r As Range, _ 
     Optional Pct As Boolean = True, _ 
     Optional Label As Integer = 1) 

Je traduis à VB.NET, et il est la plage optionnelle qui me donne du chagrin parce que VB.NET permet des rangées optionnelles. Ou plutôt, les paramètres optionnels doivent fournir une valeur par défaut. Quelle est la méthode recommandée pour modifier la signature de fonction VB.NET afin que le code puisse être appelé à partir d'une cellule Excel en tant que FDU?

(VB.NET implémente une UDF, l'assembly est enregistré en tant que serveur COM et la feuille de calcul Excel est appelée de ce serveur et de cette bibliothèque de types, permettant d'appeler le code VB.NET à partir d'une cellule Excel.)

J'ai d'autres problèmes de compilation, donc je n'ai pas pu explorer cela. Je pense qu'accepter un objet facultatif (valeur par défaut Nothing) pourrait fonctionner et ensuite je pourrais lancer l'objet à une gamme. Alternativement, s'il y avait une valeur par défaut qui pourrait être spécifiée avec une plage optionnelle, cela fonctionnerait aussi.

Des suggestions?

Répondre

3

La valeur par défaut d'un paramètre de plage facultatif est Nothing

+0

Donc, ce n'est pas un problème. Wow, la honte. – hughdbrown

Questions connexes