2022年5月7日 星期六

VBA:新增工作表、新增 X個工作表、控制新增工作表位置 ( Sheets.Add )

簡單例子

簡單分享

MSDN一下

工作表此一物件,用於新增工作表的方法為ADD

以下來簡單練習一下ADD這個方法,以及其參數如何設定

1.新增工作表:

以下例子會產生一張空白工作表到該工作簿內工作表的最後

做一個ACTIVEX 命令按鈕

Private Sub CommandButton1_Click()

    sheets.Add AFTER:=sheets(sheets.Count)

END SUB

2.延伸一下:

如何產生10張空白工作表呢!!!!

簡單,我們來組合迴圈做操作。

小編組合FOR迴圈做操作:

Private Sub CommandButton2_Click()

    For I = 1 To 10 Step 1

        Sheets.Add AFTER:=Sheets(sheets.Count)

    Next I

End Sub

FOR迴圈會重複執行10次!!!簡單八

3.控制新增工作表的位置

例子1內有AFTER參數,以及使用了sheets.Count這個屬性

試想想一下總工作表可以透過Count屬性取得,新增一張工作表在總工作表數量的之後,不就是

新增一張工作表到工作表的最後嗎?很抽象,想像一下。

我們來應用一下怎控制位置,透過BEFORE、AFTER

BEFORE:產生工作表在現有第一張工作表之前

Private Sub CommandButton3_Click()

    sheets.Add BEFORE:=sheets(1)

END SUB

BEFORE:產生工作表在現有第一張工作表之後

Private Sub CommandButton4_Click()

    sheets.Add AFTER:=sheets(1)

END SUB

SHHETS(1)表示位置1的工作表

如果你要產生一張工作表在第七張工作表之前或之後改改數字即可。

應用NAME屬性

試想,每一張工作表都要數位置,很累說,都知道名稱了,就透過名稱來取的位置八

可以透過INDEX跟ITEM屬性的組合作操作歐,這裡用到2個屬性,有點小難,但多練習就駕輕就熟了

sheets.Add BEFORE:=sheets.Item(Sheets("工作表5").Index)


簡單分享



沒有留言:

張貼留言

職場毒癌:你憑什麼以為你十年寒窗,抵得我三代從商

你憑什麼以為你十年寒窗,抵得我三代從商——這句話已經記不得是從哪裡看到的,可能是某部劇,也可能是某篇 FB 文章標題。 但最近,特別有感。 為什麼會有這種感觸? 職場上有個同事,一路慢慢升到課長,好歹也是管理職,雖說不上鐵飯碗,但在多數人眼裡也算穩定。 結果呢?輾轉換了兩個製造課...