EXCEL如何利用VBA实现批量字段的替换?
EXCEL如何利用VBA实现批量字段的替换?就是我想建一个表1这种字段替换的对应关系表,然后利用vba把表2的内容替换掉,VBA的代码可以实现吗?注意到表1里有重复的原始...
EXCEL如何利用VBA实现批量字段的替换?就是我想建一个表1这种字段替换的对应关系表,然后利用vba把表2的内容替换掉,VBA的代码可以实现吗?注意到表1里有重复的原始文字,要根据不同的表头名称替换成不同的文字。
sheet1:
原始文字 替换后文字 表头名称
大 big 列1
小 small 列1
其他 other 列1
大 da 列2
小 xiao 列2
其他 qita 列2
大 1 列3
小 2 列3
其他 3 列3
sheet2:
序号 姓名 列1 列2 列3
1 沈 大 大 大
2 蔡 小 小 小
3 罗 其他 其他 其他 展开
sheet1:
原始文字 替换后文字 表头名称
大 big 列1
小 small 列1
其他 other 列1
大 da 列2
小 xiao 列2
其他 qita 列2
大 1 列3
小 2 列3
其他 3 列3
sheet2:
序号 姓名 列1 列2 列3
1 沈 大 大 大
2 蔡 小 小 小
3 罗 其他 其他 其他 展开
3个回答
展开全部
Option Explicit
Sub 转换()
Dim dict, arr, i, j, k
dict = Sheets(1).UsedRange '字典关系表
arr = Sheets(2).UsedRange '需要转换的表
For i = 2 To UBound(arr)
For j = 3 To 5
For k = 1 To UBound(dict)
If dict(k, 1) = arr(i, j) And dict(k, 3) = arr(1, j) Then
arr(i, j) = dict(k, 2)
Exit For
End If
Next k
Next j
Next i
Sheets(2).UsedRange = arr '回写转换结果
End Sub
展开全部
可以啊,VBA不仅能替换表格中的文字,还可以替换文本框、占位符、页眉页脚、艺术字中的字符。
批量替换,只是一个循环而已。
具体做法,你可以录制宏,然后根据宏代码,弄个循环就可以了。
批量替换,只是一个循环而已。
具体做法,你可以录制宏,然后根据宏代码,弄个循环就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
提供这两个截图的文件好编写代码并调试。
追问
上传不了,已修改问题,麻烦复制粘贴
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询