永发信息网

[求助] 返回上一个工作表的代码

答案:1  悬赏:70  手机版
解决时间 2021-01-23 02:11
  • 提问者网友:美人性情
  • 2021-01-22 11:04
[求助] 返回上一个工作表的代码
最佳答案
  • 五星知识达人网友:渡鹤影
  • 2021-01-22 12:41
一种解决方法。定义两个全局变量

在Thisworkbook的Workbook——SheetActivate事件中记录上一个表的名称。
在你的返回按钮中,使用OldSh这个变量即可。





Public OldSh, ActSh As String
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
OldSh = ActSh
ActSh = ActiveSheet.Name
End Sub追问在你的返回按钮中,使用OldSh这个变量即可。-----?对这一句话不懂。我每页有一个返回总目录的按钮,现在要返回刚才的那一页,是不是要另外增加一个控扭,或定义右击指定单元格返回。请赐教!追答如果您不希望返回总目录,就在当前“返回总目录”的代码里修改;如果想新建一个按钮,也可以。这个随你。
总之,需要修改或者添加的代码就是:Sheets(OldSh).Select追问我的thisworkbook里已经在以下代码
Private Sub Workbook_Open()
Dim SH As Worksheet
For Each SH In Worksheets
If SH.Name <> "目录" Then SH.Visible = False
Next
End Sub

现在怎样改,Sheets(OldSh).Select这句加在哪里?追答亲,我都被您绕糊涂了……
首先,这段代码在这个文件一打开就运行,作用似乎是把除了“目录”的其它Sheet都隐藏了。那么,统共就显示一个工作表,“返回”是指什么意思呢?追问在“目录”工作表宏窗口中,还有以下代码
(代码通过私信发给你了)
我这个工作薄其它工作表都是隐藏的,点目录中的超连接才打开,现在是“目录”可以到达A、B、C、D;A、B、C、D可以直接返回到“目录”,现在需要当其中的其它宏运行后,B到了C,要求C返回到B,而不是返回到“目录”。

前边的代码和我发给你的代码就是你帮我解决的。现在是要在其中加一项功能,A、B、C、D之间的互相返回(刚才打开过的工作表)追答您需要单独建一个按钮,代码只有一句:Sheets(OldSh).Select
当然,请务必参照第一条回答,先在Thisworkbook的Workbook——SheetActivate事件中写入代码,并注意一定要定义public变量。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯