经常给别人做数据分析,拿到的数据都是很不规范的,比如下面这个例子,单元格中的数据是ABCD而不是数字1234,这样的剞麽苍足数据是无法放入到spss中进行处理的,所以我们需要对这个进行重新编码,在Excel中使用vba是比较快速的方法,这里我跟大家分享一下我的方法:![Excel2013:[26]如何将ABCD替换成数字](https://exp-picture.cdn.bcebos.com/22c4fe36e29147e892e722c1b603bbea3e86585e.jpg)
明确目标:把ABCD转换成1234,如图所示,题目1这一列是我转换完成的,题目3这一列是还没有进行转换的。![Excel2013:[26]如何将ABCD替换成数字](https://exp-picture.cdn.bcebos.com/836a6aee1c324b18e02b974253a726334884485e.jpg)
我们使用快捷键alt+ F11,打开vbe编辑窗口![Excel2013:[26]如何将ABCD替换成数字](https://exp-picture.cdn.bcebos.com/ab966c6b0ce265e7f0087fcb9f23beb9763eb75e.jpg)
掺入一个模块:菜单上执行【插入】-【模块】![Excel2013:[26]如何将ABCD替换成数字](https://exp-picture.cdn.bcebos.com/555acf0ff2260d9ae7090c2a622abab84240a55e.jpg)
将这段代码粘贴到模块中:
Sub 替换abcd()
Dim iRng As Range
Set iRng = Selection
For Each icell In iRng
txt = icell.Value
Select Case txt
Case "A"
icell.Value = 1
Case "B"
icell.Value = 2
Case "C"
icell.Value = 3
Case "D"
icell.Value = 4
Case "E"
icell.Value = 5
End Select
Next icell
End Sub
![Excel2013:[26]如何将ABCD替换成数字](https://exp-picture.cdn.bcebos.com/07c98f2ca5cadce8764f1b4ffcf7980e5f20955e.jpg)
保存并关闭vbe窗口,然后按下快捷键alt+F8,打开宏编辑窗口,选中这个唯一的宏,然后点击【选项】按钮![Excel2013:[26]如何将ABCD替换成数字](https://exp-picture.cdn.bcebos.com/423041db3620b93a228e3b76ad0f8835dd8a8a5e.jpg)
设置快捷键为Ctrl+q,然后点击确定按钮![Excel2013:[26]如何将ABCD替换成数字](https://exp-picture.cdn.bcebos.com/589f5b07880138702d46213f2d08a50f94fc835e.jpg)
下面开始使用这个宏来转化数据,如图,先选中要转换的这一列,然后按下快捷键【Ctrl+q】,你可以看到数据快速得到转换。abcd都变成了1234![Excel2013:[26]如何将ABCD替换成数字](https://exp-picture.cdn.bcebos.com/e6ae36066b0192dd3a48ad401a87031c99c0f05e.jpg)