2014-01-15 69 views
0

我對VBA非常陌生,並且對創建宏進行映射有個疑問。例如,如果我在A列下面的列表:創建映射的宏

Apple 
Volvo 
Hyundai 
Orange 
Grape 
Christmas 
Thanksgiving 

現在,我想轉換基於以下映射在A列中的項目,

Apple, Orange, Grape --> Fruit 
Volvo, Hyundai --> Car 
Christmas, Thanksgiving --> Holiday 

這只是一個簡單的例子,我希望我能夠從一開始就得到一些幫助,這樣我就可以擴大宏觀範圍。

謝謝!

+0

因此,您已經有一個參考列表,其中映射的基礎?另外,你想輸出它在一個單元格?就像你上面展示的那樣? – L42

+3

創建一個具有兩列的映射表 - 「名稱」和「類型」。輸入該表中的所有映射。然後使用'VLOOKUP()'將名稱翻譯爲'類型' –

回答

0

一個案例陳述可以很好地評估該項目。

Dim TheItem as string 
'~~~TheItem = ColumnA 
Dim TheType as string = "" 
Select Case TheItem.ToUpper 

    case "APPLE", "ORANGE", "GRAPE" 
    TheType = "Fruit" 

    case "VOLVO", "HYUNDAI" 
    TheType = "Car" 

    case "CHRISTMAS", "THANKSGIVING" 
    TheType = "Holiday" 

End Select 
'~~~ColumnB = TheType 

請注意,帶'~~~'的行需要一些工作來讀/寫您的列。

它可能會變得很大......如果是這樣,您可能需要使用數據庫。

+0

嗨,謝謝你的回答。我有一個問題,我們爲什麼需要兩個 昏暗TheItem作爲字符串 和 暗淡TheType作爲字符串=「」 ????? 另外,我知道如何定位一個單細胞,我怎麼會取代「~~~所以它面向的一整列? – user1664484

+0

Dim TheType as string =「」只是初始化字符串。 –