Excel, en Essayant d'Index, d'un Match, à la recherche de valeurs à l'aide de VBA

Je suis en train de rechercher des valeurs à des cellules de lieux à l'aide de VBA, j'ai cherché sur google et tous sur stackoverflow avant de demander ce parce que je n'arrive pas à le faire fonctionner.

Voici le code que j'essaie de l'utiliser, de noter que budgetcode fait référence à une cellule contenant l'un des codes dans la première colonne et de mo fait référence à une cellule qui contient un nombre (de 1 à 12) ou contient un code court (aaj, 1qtr, 2qtr, 3qtr). Exemple, c'est que je veux tirer de CAO-NS pour le mois de février (2), et je devrais obtenir 5666.40.

Function eBudgetl(budgetcode As String, mo As String)
eBudgetl = Application.WorksheetFunction.Index(Range("Budget!G1:X5000"), _
   Application.WorksheetFunction.Match(budgetcode, Range("Budget!B1:B5000"), 0), _
   Application.WorksheetFunction.Match(mo, Range("Budget!G1:X1"), 0))
End Function

Voici une partie des données que je souhaite de recherche:

                                       1    2          3       4
CAD-NS      I   Net Sales           5264.0  5666.4  5614.9  5966.6
COSMAT      E   Material            6207.5  3660.0  3661.9  3560.9
COSDL       E   Direct Labor         610.4  105.3   167.1   123.6
CAD-MOIL    E   Indirect Labor       671.2  163.4   181.6   161.7
CAD-MOSAL   E   Salary Overhead      601.0  106.0   101.0   101.0

Voici le code dans la cellule qui fonctionne, mais j'ai besoin de le faire en VBA. (La raison pour laquelle j'ai besoin de le faire en vba est parfois le budgetcode contiendra 2+ références séparées par une virgule, et je vais utiliser vba pour les séparer et de se regarder de manière indépendante.)

=INDEX(Budget!$G$1:$X$5000,MATCH($F12,Budget!$B$1:$B$5000,0),MATCH(AN$1,Budget!$G$1:$X$1,0))

J'apprécie toute l'aide beaucoup, j'ai été à ce pour 3 jours maintenant.

Merci,

Enoch

Je pense que votre problème est la Types de votre déclaration de fonction. Essayez Function eBudgetl(budgetcode As Variant), mo As Variant)
Oh mon dieu! Je ne peux pas croire que travaillé en! Sérieusement, Chris Neilsen, vous venez de faire ma journée!
Ajouté comme une Réponse, avec quelques explications et quelques conseils

OriginalL'auteur user3566159 | 2014-04-25