乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > EXCEL <em>VBA</em>如何对当前工作表判断

EXCEL <em>VBA</em>如何对当前工作表判断

作者:乔山办公网日期:

返回目录:excel表格制作


要做一个跨工作簿的查找,现在呢,我查找和被查找的两个工作簿的切换是靠"Workbooks(1)"和"Workbooks(2)”来切换的,workbooks(1)就代表第一个工作表,workbook(2)代表通过"Application.GetOpenFilename”方法打开的第二个工作表。
现在问题是,我运行的时候只能在一个工作簿的情况下才能正常运行,否则就会出错。所以我需要知道当前工作簿排在第几个~
Sub test()
Dim a As String
a = Application.GetOpenFilename
Set wb1 = Workbooks.Open(a)
wb1.Worksheets(1).Range("a1").Value = "haha"
End Sub

用工作zd表事件,当AAA或者BBB被激活时,就操作CCC
sub ()
dim currentsheet as worksheet
set currentsheet=activesheet

if currentsheet.name="AAA" or currentsheet.name="BBB" then
worksheets("CCC").range("B2").value="xxx"

worksheets("CCC").range("B2").interior.color=65535

end if

end sub

1.

一步搞定之代码

Sub 提取所有工作表名称()

for x=1 to sheets.count

cells(x,1)=sheets(x).name

next x

End Sub

如图,按照顺序来就可以啦。

方法/步骤

1.分步阅读

首先我们打开一个工作样表作为例子。

2.

工作表标签名即是工作表的名称,在指定激活当前工作表时,可以使用worksheets(“工作表名称”)的方法来指定。我们这里可以使用vba来获取这个名称。

3.

我们使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:

Sub Delete_EmptySheets()

Dim sh As String

sh = Worksheets(1).Name

MsgBox sh

End Sub

4.

运行这段代码后,就可以获得5月工资这个工作表的名称。并将这个名称赋予了sh这个变量。我们就可以使用这个变量来指定工作表。

5.

这里我们需要注意的是,worksheets()使用工作表名称来指定工作表的时候字符串必须使用“”括住e799bee5baa6e58685e5aeb9339,而使用变量时则不需要,如果用“”括住变量,那么变量会被识别为字符串而出错。

6.

修改名称我们可以直接使用worksheets().name= 的方式进行改名。修改的名称如果使用变量赋值,则不需要“”括住,如果是直接输入,则同样需要以字符串的方式。



thisworkbook.Name '当前运行的工作簿名
工作簿1
thisworkbook.ActiveSheet.Name '当前运行工作簿的活动的工作表名
Sheet1

相关阅读

  • EXCEL <em>VBA</em>如何对当前工作表判断

  • 乔山办公网excel表格制作
  • 要做一个跨工作簿百的查找,现在呢,我查找和被查找的两个工作簿的切换是靠"Workbooks(1)"和"Workbooks(2)”来切度换的,workbooks(1)就代表第一个工知作表,workbook(2)代表通道过"Application.G
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网