Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 9341|回复: 11

[已解决]用VBA如何获得活动工作表的前一个工作表的序号?

[复制链接]
发表于 2016-8-10 12:45 | 显示全部楼层 |阅读模式
        我想在活动工作表中引用排在当前活动工作表前一位的工作表的数据。比如:1到12月共计12个工作表,我按时间顺序从左到右排列,我想12月引用11月的,11月引用10月的,10月又引用9月的。。。并且以此类推,
        请问如何能得到“当前活动工作表前一位的工作表的序号”??
请高手赐教
最佳答案
2016-8-10 15:42
Sub test()
    Dim sh As Worksheet
    Set sh = ActiveSheet.Previous
End Sub


可用worksheet对象的Previous属性来获取。
注,ActiveSheet必须不是第1个工作表。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-8-10 13:05 | 显示全部楼层
Sheets(ActiveSheet.Index - 1)
就是指的当前工作表的前一个工作表
回复

使用道具 举报

发表于 2016-8-10 13:08 | 显示全部楼层
本帖最后由 这儿有肥猫 于 2016-8-10 13:09 编辑

ActiveSheet.Index - 1
回复

使用道具 举报

发表于 2016-8-10 15:42 | 显示全部楼层    本楼为最佳答案   
Sub test()
    Dim sh As Worksheet
    Set sh = ActiveSheet.Previous
End Sub


可用worksheet对象的Previous属性来获取。
注,ActiveSheet必须不是第1个工作表。
回复

使用道具 举报

 楼主| 发表于 2016-8-12 11:47 | 显示全部楼层
爱疯 发表于 2016-8-10 15:42
Sub test()
    Dim sh As Worksheet
    Set sh = ActiveSheet.Previous

谢谢老师!
这个方法可行!
顺便问一下,是不是03版的VBA不能使用高版本的一些事件?
比如03版就不能使用13版的workbook事件,对吗??
回复

使用道具 举报

 楼主| 发表于 2016-8-12 11:49 | 显示全部楼层
fjmxwrs 发表于 2016-8-10 13:05
Sheets(ActiveSheet.Index - 1)
就是指的当前工作表的前一个工作表

谢谢老师
回复

使用道具 举报

 楼主| 发表于 2016-8-12 11:49 | 显示全部楼层
这儿有肥猫 发表于 2016-8-10 13:08
ActiveSheet.Index - 1

谢谢老师
回复

使用道具 举报

发表于 2016-8-12 11:52 | 显示全部楼层
"03版就不能使用13版的workbook事件"

没明白这句话具体说的是什么意思?
回复

使用道具 举报

 楼主| 发表于 2016-8-12 12:30 | 显示全部楼层
爱疯 发表于 2016-8-12 11:52
"03版就不能使用13版的workbook事件"

没明白这句话具体说的是什么意思?

QQ图片20160812121625.png
你看,我的excel是03版的,在使用事件时,只能使用worksheet事件,连workbook事件都没有,而且worksheet事件右边的边框下来菜单列表也只有这几个,好像还有很多情况都没有,我就是想问下,是不是03版excel不能使用高版本的一些事件??
回复

使用道具 举报

 楼主| 发表于 2016-8-12 13:03 | 显示全部楼层
爱疯 发表于 2016-8-12 11:52
"03版就不能使用13版的workbook事件"

没明白这句话具体说的是什么意思?

高手,我回复你了,能帮忙看下吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 07:40 , Processed in 0.344231 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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