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)


簡單分享



沒有留言:

張貼留言

打破人力資源最好的教案:川普

打破人力資源最好的教案: 川普 why? 過去討論人才       好用、解決問題,多少證照,還是產值? 現在討論人的重量?      重量如同金錢一樣      一公升92汽油多少錢?      淋在人身上跟加在車輛內會衍生多少"量化"? 對主管來說,人的重...