分享

Excel之VBA常用功能应用篇:在Excel中插入工作表

 每天学学Excel 2022-02-15

之前分享的案例都是如何处理现有的Excel工作表,但是我们在实际的应用中往往会用到生成一个新的Excel工作表,然后把处理后的数据写入新的工作表中。今天就和大家分享如何利用Excel VBA在Excel中插入新的工作表。

1.直接插入工作表

(1)实现直接插入工作表的VBA代码

Sub add_Worksheet()

'定义变量

Dim nstrName As String

'输入新工作表名称,并赋值给变量nstrName

nstrName = Application.InputBox("新工作表名称", Title:="输入")

'插入工作表

Worksheets.Add.Name = nstrName

End Sub

(2)插入按钮绑定宏add_Worksheet并命名“直接插入”

(3)执行看效果

成功插入新的工作表,默认位置是当前工作表的前面

2.指定位置的插入工作表

(1)实现指定位置插入工作表的VBA代码

Sub add_beforeWorksheet()

'定义变量

Dim strName As String, nstrName As String, t As Boolean, sht As Worksheet

'设置变量t默认值为false

t = False

'屏蔽报错

On Error Resume Next

'输入标尺工作表名称循环

Do

'输入标尺工作表名称,赋值给变量strName

strName = Application.InputBox("标尺工作表名称", Title:="输入")

'输入的工作表名称的对象赋值给变量sht

Set sht = Worksheets(strName)

'判断输入的标尺工作表名称是否存在

If sht Is Nothing Then

'不存在提示重新输入

MsgBox "输入的工作表名称不存在,请重新输入!"

Else

'存在设置变量t为true,此时会跳出循环

t = True

End If

Loop While t = False

Set sht = Nothing

'输入新工作表名称循环

Do

'输入新工作表名,赋值给变量nstrName

nstrName = Application.InputBox("新工作表名称", Title:="输入")

'输入的新工作表名称对象赋值给变量sht

Set sht = Worksheets(nstrName)

'判断输入的新工作名称是否已经存在

If Not sht Is Nothing Then

'存在提示重新输入

MsgBox "输入的工作表名称已存在,请重新输入!"

Else

'不存在设置变量t为false,此时会跳出循环

t = False

End If

Loop While t = True

'在XXX之前插入新工作表,如果要在之后插入则将before改为after即可

Worksheets.Add(before:=Worksheets(strName)).Name = nstrName

Set sht = Nothing

End Sub

注:示例为在xx之前插入工作表,如果要在xx之后插入工作表则为

Worksheets.Add(after:=Worksheets(strName)).Name = nstrName

(2)插入按钮绑定宏add_beforeWorksheet并命名“指定位置插入”

(3)执行看看效果

成功在指定位置插入了我们的新工作表,你会了么?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多