VBA excel 如何自动获取当前工作表的名字,语句如下。

Sub转存新记录()DimmotoShtAsWorksheet,sakiShtAsWorksheet,sakiRngAsRangeDimmotoHani()'声明变量Se... Sub 转存新记录()
Dim motoSht As Worksheet, sakiSht As Worksheet, sakiRng As Range
Dim motoHani() '声明变量
Set motoSht = Worksheets("03单位产品成本表") '设置输入用工作表(这个地方怎么设置???)
Set sakiSht = Worksheets("生产成本及库存表") '设置保存用工作表
'将要转存的单元格的位置保存在数组中
motoHani = Array("B3", "B4", "B5", "D2", "B13", "D3", "D4", "D5", "B13", "C13", "D13", "E13")
'取得新记录的输入位置
Set sakiRng = sakiSht.Range("B" & Rows.Count).End(xlUp).Offset(1)
'将上述记录的值按数组中指定的顺序转存
For i = 0 To UBound(motoHani)
sakiRng.Offset(0, i).Value = motoSht.Range(motoHani(i)).Value
Next
MsgBox "输入完毕。"
End Sub
展开
 我来答
表里如一
2012-09-17 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11634
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部
dim fname as string
fname=thisworkbook.name

即可得到当前工作簿的名字。
获得当前工作表的名字。
fname=activesheet.name
苏羽城倾
2018-03-30 · TA获得超过9560个赞
知道小有建树答主
回答量:77
采纳率:33%
帮助的人:9471
展开全部

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()使用工作表名称来指定工作表的时候字符串必须使用“”括住,而使用变量时则不需要,如果用“”括住变量,那么变量会被识别为字符串而出错。

6.

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式