搜索
首页 电脑/网络 软件 办公软件

有关EXCEL中的宏如何自动执行

我写了一个VBA判断语句, 如下:Sub 有条件的链接() If Worksheets("Sheet1").Cells(5, 3).Value = "1" Then Worksheets(3).ActivateElse Worksheets(1).Activate End If End Sub如何让这个语句自动判断某个单元格的值从而转到相应的工作表,而不是手工执行这个宏才能转到.谢谢.

全部回答

2008-01-14

0 0

    如果需要语句自动判断某个单元格的值从而转到相应的工作表,可以在开头加上 Private Sub Worksheet_Change(ByVal Target As Range) '(当前工作表发生内容改变就触发宏命令) 按ALT+F11,直接在sheet1表输入以下内容: Private Sub Worksheet_Change(ByVal Target As Range) If Worksheets("Sheet1")。
    Cells(5, 3)。Value = "1" Then Worksheets(3)。Activate Else Worksheets(1)。Activate End If End Sub。
  

2008-01-14

285 0

  我想你是想在打开文件时自动转到某个工作表:那么应该这样写: Private Sub Workbook_Open() If Worksheets("Sheet1")。Cells(5, 3)。
  
  Value = "1" Then Worksheets(3)。Activate Else Worksheets(1)。Activate End If End Sub 这段程序应该放在舅图所示的位置。

2008-01-14

288 0

    您的代码未改动,只是放在SHEET1下,您可以通过按ALT+F11查看, 但我提出一点意见: Worksheets("Sheet1")。Cells(5, 3) 是确定的位置, Worksheets(1)及Worksheets(3)的表示方法工作表则是不确定的,只表示第1张表,第3张表,若您的工作表前后秩序发生变化,这个命令只认可1,3两张表,不清楚您出于哪一种目的? Worksheets("Sheet1")只认可表名为Sheet1的这张表,而不论该表处在第几个位置上。
     Worksheets(1)只认可工作簿上第一张表,而不论表名是什么。 所以您应根据需要选用不同的代码,像本例,在未变动位置前,Worksheets("Sheet1")与Worksheets(1)是同一张表,若一移动,则不同了。
   Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Worksheets("Sheet1")。  Cells(5, 3)。
  Value = "1" Then Worksheets(3)。Activate Else Worksheets(1)。Activate End If End Sub。

类似问题换一批

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
办公软件
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
软件
办公软件
多媒体软件
系统软件
网络软件
图像处理软件
办公软件
办公软件
举报
举报原因(必选):
取消确定举报