标题: [文本处理] 批处理如何查找并替换Excel同一个工作薄的两个工作表相同位置的单元格内容? [打印本页]
作者: luke2 时间: 2014-12-17 20:59 标题: 批处理如何查找并替换Excel同一个工作薄的两个工作表相同位置的单元格内容?
本帖最后由 pcl_test 于 2016-4-17 16:25 编辑
同一个工作薄的两个工作表,打开表1,搜索内容22,使用替换工具把内容22替换成A,如何实现批量处理,我把表1中的22替换成A的时候,表2中相同坐标的单元格内的内容强行被替换成A。
就是说,替换表1中内容的时候,表2中对应坐标的单元格内容也被强行替换,而其他单元格内容不变
作者: mms0536 时间: 2014-12-17 21:48
你的excel可以提前设置好就行了
我录制了一个gif上传提示文件过大......
我描述一下
在 工作薄1 表格 内容 22
在 工作薄2 你想要和上面内容保持一致的格子里面,双击进去编辑 = 然后回到工作薄1选中 22 就好了
作者: luke2 时间: 2014-12-17 22:03
回复 2# mms0536
能否通过批量处理,把表1数字22替换成字母A的同时,表2中对应所在的坐标单元格内容强行被修改成字母A,其他不对应坐标的单元格,即使有数字22,也不会被替换,谢谢!
作者: luke2 时间: 2014-12-17 22:04
你的excel可以提前设置好就行了
我录制了一个gif上传提示文件过大......
我描述一下
在 工作薄1 表格 ...
mms0536 发表于 2014-12-17 21:48
因为数字22所在的单元格坐标是随机的,并且很多,能否批量处理呢
作者: mms0536 时间: 2014-12-17 22:31
回复 4# luke2
那我就真不懂了.....
作者: yu2n 时间: 2014-12-17 23:01
So Easy ~
以 Office Excel 2007 为例
开发工具 -> 录制宏 ->
……进行你要的操作……
停止录制 -> 宏 -> 编辑
把生成的VBA代码转换为VBS、PS…语言(你会哪个就用哪个,直接用VBA是最好的),不懂的地方可以按 F1 。
作者: shelluserwlb 时间: 2014-12-18 08:00
本帖最后由 shelluserwlb 于 2014-12-18 08:02 编辑
这个用VBA,不需要打开工作簿了,直接对工作表操作即可。
作者: shelluserwlb 时间: 2014-12-18 10:01
本帖最后由 shelluserwlb 于 2014-12-18 10:13 编辑
- Sub a()
- Dim n, m As Integer
- n = Sheets(1).UsedRange.Rows.Count
- m = Sheets(1).UsedRange.Columns.Count
- For Each ran In Range(Cells(1, 1), Cells(n, m))
- If ran = "22" Then
- Sheets(1).Range(ran.Address) = "A"
- Sheets(2).Range(ran.Address) = "A"
- End If
- Next
- End Sub
复制代码
以上是实现这个功能的VBA代码。
鼠标点击代码段内任何地方,按F5运行。
作者: yiwuyun 时间: 2014-12-18 20:50
- Dim objExcel
- Set objExcel=CreateObject("Excel.Application")
- objExcel.DisplayAlerts=false
- objExcel.visible=true
- search="22"
- subtitution="A"
- col=1
- row=1
- Set objWorkBook=objExcel.WorkBooks.Open("C:\Users\yiy\Downloads\Dos\1\Test.xlsx")
- do until objExcel.Workbooks(1).WorkSheets(1).Cells(row,col).value=""
- do until objExcel.Workbooks(1).WorkSheets(1).Cells(row,col).value=""
- if objExcel.Workbooks(1).WorkSheets(1).Cells(row,col).value=search then
- objExcel.Workbooks(1).WorkSheets(1).Cells(row,col).value=subtitution
- objExcel.Workbooks(1).WorkSheets(2).Cells(row,col).value=subtitution
- end if
- row=row+1
- loop
- col=col+1
- row=1
- loop
- objWorkBook.Save
- objWorkBook.Close
- objExcel.Quit
复制代码
作者: luke2 时间: 2014-12-18 23:14
以上是实现这个功能的VBA代码。
鼠标点击代码段内任何地方,按F5运行。
shelluserwlb 发表于 2014-12-18 10:01
感谢大神呀
作者: luke2 时间: 2014-12-18 23:15
yiwuyun 发表于 2014-12-18 20:50
感谢大神
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |