在excel中,我有一列我需要转换为整数的单词。例如,我有一列行业:
我想用整数替换每个行业。
下面,我在VBA尝试但没有用的东西。在这里,我试图遍历列,如果当前单元格中的单词与前一单元格中的单词不同,那么我为它分配一个不同的整数。 (但它不起作用)
Sub WordtoNum()
Dim ws As Worksheet
Dim varList
Dim rng1 As Range
Dim lngCnt As Long
Dim startrow, wsheet, tt As Integer
' Enter the worksheet and starting row
'---------------------------------------
wsheet = 2
startrow = 2
'---------------------------------------
Set ws = Sheets(wsheet)
Set rng1 = ws.Range(ws.[a1], ws.Cells(Rows.Count, "A").End(xlUp))
varList = rng1.Value2
tt = 0
For lngCnt = startrow To UBound(varList)
If varList(lngCnt, 2) <> varList(lngCnt - 1, 2) Then _
tt = tt + 1
varList2(lngCnt, 2) = tt
Next
rng1.Value2 = varList
End Sub
此代码主要基于我在最近的相关帖子中收到的帮助。
答案 0 :(得分:1)
为什么不在Excel函数中使用构建,VLOOKUP?它在已排序的列中查找单词并从另一列返回一个值,但与匹配的行相同。 Read more on Office Help about VLOOKUP
我意识到你问的问题是如何在VBA中做到这一点,但是,我不确定你是否真的想将VBA用作练习或者只是不知道这个功能?