小白求助vba代码怎么作用于多个表格?

我想让表123都用到表1里的代码,并且同时更改表一里的东西表2里时间是不会动,不像excel表里修订那样每个表格都会显示。就是每个表格里独立操作。还有个问题如歌我把“sh... 我想让表 1 2 3都用到表1里的代码,并且同时更改表一里的东西表2里时间是不会动,不像excel表里修订那样每个表格都会显示。就是每个表格里独立操作。
还有个问题如歌我把“sheet1”更改为别的名称,那么代码还可以用吗?如果不能我应该怎么修改代码呢?
代码如下
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, [A2:c10000]) Is Nothing Then
a = Target.Row
Range("d" & a) = Date & Time
End If
End Sub
展开
 我来答
mzz9060
2017-05-19 · TA获得超过1319个赞
知道小有建树答主
回答量:770
采纳率:85%
帮助的人:227万
展开全部

用类模块可以实现

1、插入一个类模块,复制下面代码

Public WithEvents XL As Application
Private Sub XL_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Not Application.Intersect(Target, [A2:c10000]) Is Nothing Then
        a = Target.Row
        Range("d" & a) = Date & Time
    End If
End Sub

2、然后插入一个普通模块,复制下面代码

Dim X As New 类1
Sub TestEvents()
    Set X.XL = Excel.Application
End Sub

3、运行TestEvents这个过程,就可以实现你要的功能了。

阳光上的桥
2017-05-19 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65796
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
没办法,必须把代码复制到每一个表里面去。
追问
同一个表格sheet1 sheet2 sheet3,没法复制啊
追答
你的代码是在工作表里面,复制代码,双击别的表,粘贴就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzhilling
2017-05-19 · TA获得超过2699个赞
知道大有可为答主
回答量:3255
采纳率:45%
帮助的人:1101万
展开全部
新建立一个模块
把代码写到模块里面去
代码里面凡是涉及操作的,都加上表格名字限定,表格利用Thisworkbook.activesheet 调用,也就是当前的操作表,当你切换的另一个表格的时候,都可以用,比如我当前修改A1 则使用 Thisworkbook.activesheet.range("a1").value=123
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式