2021-05-12 14:32:11
Excel VBA教程:如何在Excel中插入工作表
之前分享的案例都是如何處理現有的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)執行看看效果
成功在指定位置插入了我們的新工作表,你會了麼?
本次分享就到這裡嘍,我們下次分享再見!
~如果您喜歡的話,歡迎點贊+關注+留言哦,感謝您的支援!
相關文章