设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1462|回复: 1
打印 上一主题 下一主题

[其它] 请求简化代码,历遍各个工作表

[复制链接]
跳转到指定楼层
1#
发表于 2009-7-11 10:50:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一共有两个工作簿“引用表.xls”和“源表.xls”。在“引用表.xls”中创建宏Macro2(),实现执行宏Macro2(),自动打开同一文件夹下的“源表.xls”,并且把“源表.xls”中三张工作表sheet1、sheet2、sheet3等表格里面的数据自动更改,如把“张萍”改为“张平”,然后自动保存更改后的“源表.xls”。谢谢
Sub Macro2()
    Workbooks.Open ThisWorkbook.Path & "\源表.xls"
ActiveWorkbook.Sheets("Sheet1").Select
    Cells.Replace "张萍", "张平"
    Cells.Replace "李 四", "李四"   
    Cells.Replace " 赵五 ", "赵五"
ActiveWorkbook.Sheets("Sheet2").Select
    Cells.Replace "张萍", "张平"
    Cells.Replace "李 四", "李四"   
    Cells.Replace " 赵五 ", "赵五"
ActiveWorkbook.Sheets("Sheet3").Select
    Cells.Replace "张萍", "张平"
    Cells.Replace "李 四", "李四"   
    Cells.Replace " 赵五 ", "赵五"
ActiveWorkbook.Sheets("Sheet4").Select
    Cells.Replace "张萍", "张平"
    Cells.Replace "李 四", "李四"   
    Cells.Replace " 赵五 ", "赵五"
ActiveWorkbook.Sheets("Sheet5").Select
    Cells.Replace "张萍", "张平"
    Cells.Replace "李 四", "李四"   
    Cells.Replace " 赵五 ", "赵五"   
    Range("A1").Select
    ActiveWorkbook.Save
End Sub

如果还有Sheet6、7、8等等,那这段代码岂不是要一匹布那么长?请求高手出招,解决疑难……
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2009-7-11 12:15:15 | 只看该作者
Sub Macro2()
dim sh as worksheet
    Workbooks.Open ThisWorkbook.Path & "\源表.xls"
for each sh in worksheets
with sh
    .Cells.Replace "张萍", "张平"
    .Cells.Replace "李 四", "李四"   
    .Cells.Replace " 赵五 ", "赵五"
    .Range("A1").Select
end with
next
    ActiveWorkbook.Save
End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-21 10:36 , Processed in 0.084612 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表