[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何查找并替换Excel同一个工作薄的两个工作表相同位置的单元格内容?

本帖最后由 pcl_test 于 2016-4-17 16:25 编辑

同一个工作薄的两个工作表,打开表1,搜索内容22,使用替换工具把内容22替换成A,如何实现批量处理,我把表1中的22替换成A的时候,表2中相同坐标的单元格内的内容强行被替换成A。
就是说,替换表1中内容的时候,表2中对应坐标的单元格内容也被强行替换,而其他单元格内容不变

你的excel可以提前设置好就行了
我录制了一个gif上传提示文件过大......
我描述一下

在 工作薄1 表格 内容 22
在 工作薄2 你想要和上面内容保持一致的格子里面,双击进去编辑 = 然后回到工作薄1选中 22 就好了

TOP

回复 2# mms0536


    能否通过批量处理,把表1数字22替换成字母A的同时,表2中对应所在的坐标单元格内容强行被修改成字母A,其他不对应坐标的单元格,即使有数字22,也不会被替换,谢谢!

TOP

你的excel可以提前设置好就行了
我录制了一个gif上传提示文件过大......
我描述一下

在 工作薄1 表格  ...
mms0536 发表于 2014-12-17 21:48



    因为数字22所在的单元格坐标是随机的,并且很多,能否批量处理呢

TOP

回复 4# luke2


    那我就真不懂了.....

TOP

So Easy ~

以 Office Excel 2007 为例
开发工具 -> 录制宏 ->
……进行你要的操作……
停止录制 -> 宏 -> 编辑
把生成的VBA代码转换为VBS、PS…语言(你会哪个就用哪个,直接用VBA是最好的),不懂的地方可以按 F1 。
『千江有水千江月』千江有水,月映千江;万里无云,万里青天。    http://yu2n.qiniudn.com/

TOP

本帖最后由 shelluserwlb 于 2014-12-18 08:02 编辑

这个用VBA,不需要打开工作簿了,直接对工作表操作即可。

TOP

本帖最后由 shelluserwlb 于 2014-12-18 10:13 编辑
  1. Sub a()
  2.     Dim n, m As Integer
  3.     n = Sheets(1).UsedRange.Rows.Count
  4.     m = Sheets(1).UsedRange.Columns.Count
  5.     For Each ran In Range(Cells(1, 1), Cells(n, m))
  6.         If ran = "22" Then
  7.             Sheets(1).Range(ran.Address) = "A"
  8.             Sheets(2).Range(ran.Address) = "A"
  9.         End If
  10.     Next
  11. End Sub
复制代码
以上是实现这个功能的VBA代码。
鼠标点击代码段内任何地方,按F5运行。

TOP

  1. Dim objExcel
  2. Set objExcel=CreateObject("Excel.Application")
  3. objExcel.DisplayAlerts=false
  4. objExcel.visible=true
  5. search="22"
  6. subtitution="A"
  7. col=1
  8. row=1
  9. Set objWorkBook=objExcel.WorkBooks.Open("C:\Users\yiy\Downloads\Dos\1\Test.xlsx")
  10. do until objExcel.Workbooks(1).WorkSheets(1).Cells(row,col).value=""
  11.   do until objExcel.Workbooks(1).WorkSheets(1).Cells(row,col).value=""
  12.        if objExcel.Workbooks(1).WorkSheets(1).Cells(row,col).value=search then
  13.          objExcel.Workbooks(1).WorkSheets(1).Cells(row,col).value=subtitution
  14.          objExcel.Workbooks(1).WorkSheets(2).Cells(row,col).value=subtitution
  15.        end if
  16.     row=row+1
  17.   loop
  18.   col=col+1
  19.   row=1
  20. loop
  21. objWorkBook.Save
  22. objWorkBook.Close
  23. objExcel.Quit
复制代码

TOP

以上是实现这个功能的VBA代码。
鼠标点击代码段内任何地方,按F5运行。
shelluserwlb 发表于 2014-12-18 10:01



    感谢大神呀

TOP

yiwuyun 发表于 2014-12-18 20:50



    感谢大神

TOP

返回列表