首頁 > 軟體

Excel VBA教程:如何在Excel中插入工作表

2021-03-29 01:01:40

之前分享的案例都是如何處理現有的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)執行看看效果

成功在指定位置插入了我們的新工作表,你會了麼?

本次分享就到這裡嘍,我們下次分享再見!

~如果您喜歡的話,歡迎點贊+關注+留言哦,感謝您的支援!


IT145.com E-mail:sddin#qq.com