2011-05-12 7 views
1

J'ai un fichier Excel.VBA Excel, VLookup pour plusieurs valeurs comptent

EmployeeName     Expenses 
Ajay          2000 
Vijay          1000 
Ajay          1500 
Vijay          500 

Je veux compter le nombre de dépenses pour chaque employé. Je peux obtenir la première occurance des dépenses de l'employé donné avec Vlookup comme celui-ci

sExpense = XLApplication.VLookup("Ajay", Range("A1:B99"), 2, False) 

Mais comment puis-je trouver la somme de toutes les dépenses d'un employé donné.

+0

vous pouvez toujours écrire une fonction personnalisée à accomplir la tâche, ou vous devez utiliser des fonctions Excel? – Konstant

Répondre

2
Option Explicit 

Public Sub test() 
    Dim sExpense As String 
    Dim range1 As Range 
    Dim sumRange As Range 

    Set range1 = Range("A2:A5") 
    Set sumRange = Range("b2:b5") 

    sExpense = Me.Application.WorksheetFunction.SumIf(range1, "Ajay", sumRange) 

End Sub 
5

Vous pouvez utiliser la fonction SUMIF fournie par Excel:

Par exemple

C6=SUMIF(A:A,"Vijay",B:B) 

Il regarde à travers la gamme de A: A (colonne A) pour un match de cellule "Ajay" et résumer leur total de la colonne B

enter image description here

+0

Merci, j'ai eu la réponse maintenant – AjayR