2016-08-19 18 views
-2

我對VBA很新,我有一個需要比較的優點,就是有一個擁有FirstName和LastName的人可以勝任另一個擁有全名的Excel。如何將VBA中的兩個excel與一個excel中的firstName和lastName列與另一個excel中的全名進行比較?

我們已經使用VLookup,但是因爲我們需要每天都做這個活動,所以它變得越來越困難。

需要針對所有組合的結果嗎?喜歡 *如果名和姓與Excally匹配FullName *只有FirstName匹配全名或中間部分的第一部分(如果全名中間名) *只有SecondName匹配FullName的中間或最後部分。

我不知道如何在VBA中做到這一點,如果可能與否。任何幫助將不勝感激。

感謝, Raaz

+0

這在VBA中是可行的。這不會太困難。我會通過將FullName分成數組來處理這個問題,然後使用Instr函數或類似的東西或甚至簡單的等價比較來進行比較。還有更多,但這是一般的想法。 – NuWin

+0

謝謝,是的,我也這麼認爲,需要拆分全名。這就是我們目前使用V查找的方式。 – user6732744

回答

1

您可以使用Like*通配符來表示多個字符操作。

Sub Example() 

    Const FirstName = "Elmer" 
    Const LastName = "Fudd" 
    Const FullName = "Elmer J. Fudd" 

    Debug.Print FullName Like FirstName & "*" 'True 
    Debug.Print FullName Like "*" & LastName ' True 
    Debug.Print (FullName Like FirstName & "*") And (FullName Like "*" & LastName) 'True 


End Sub 
+0

如果您對名稱列表進行此項檢查,則不會使用常量。 – NuWin

+0

我只是用const來縮短變量聲明和賦值。列表變量需要在右側。例如,如果你正在迭代數組'Cells(1,1)像Arr(i)&「*」' – 2016-08-19 18:19:18

相關問題