ExcelVBA例項教程027自動建立工作表目錄

2021-05-15 08:17:40 字數 1587 閱讀 9731

如果在工作簿中有許多任務作表,使用時往往會建立一張目錄表並插入超連結以方便選擇工作表。但是如果工作簿中的工作表經常新增和刪除,使用手工建立目錄很不方便,此時可以使用工作表的activate事件自動建立工作表的目錄,如下面的**所示。

1. private sub worksheet_activate()

2. dim sh as worksheet

3. dim a as integer

4. dim r as integer

5. r = sheet1.[a65536].end(xlup).row

6. a = 2

7. if sheet1.cells(2, 1) <> "" then

8. sheet1.range("a2:a" & r).clearcontents

9. end if

10. for each sh in worksheets

11. if <> "sheet1" then

12. sheet1.cells(a, 1).value =

13. a = a + 1

14. end if

15. next

16. end sub

**解析:

工作表的activate事件,在「目錄」工作表啟用時自動建立工作簿中除「目錄」工作表外所有工作表的目錄。

第2、3、4行**宣告變數型別。

第5行**取得a列最後非空單元格的行號。

第6行**設定變數a的初始值為2,從a2單元格開始建立工作表目錄。

第7行到第9行**判斷是否存在工作表目錄,如果存在先清空原來的目錄,以便更新目錄。

第10行到第15**遍歷工作簿的所有工作表,將除「目錄」工作表外所有工作表的名稱寫入到a列單元格中。

為了建立到各工作表的鏈結,使用工作表的selectionchange事件,如下面的**所示。

1. private sub worksheet_selectionchange(byval target as range)

2. dim r as integer

3. r = sheet1.[a65500].end(xlup).row

4. on error resume next

5. if = 1 then

6. if = 1 then

7. if target.row > 1 and target.row <= r then

8. sheets(target.value).select

9. end if

10. end if

11. end if

12. end sub

複製**

**解析:

工作表的selectionchange事件,當選擇a列工作表目錄中工作表名稱時自動選擇該單元格所對應的工作表。

第5、6、7行**限制該事件觸發的條件。

第8行**選擇單元格所對應的工作表。

「目錄」工作表啟用後自動在a列建立工作簿中除「目錄」工作表以外所有表的目錄,如圖 1所示。

圖 1 自動建立工作表目錄

ExcelVBA例項教程031刪除工作表中的空行

如果需要刪除如圖 1所示的工作表中所有的空行,可以使用下面的 圖 1 需刪除空行的工作表區域 1.sub delblankrow 2.dim rrow as long 3.dim lrow as long 4.dim i as long 5.rrow 6.lrow rrow 1 7.for i lr...

Flash例項教程

flash例項教程 用flash製作摺扇動畫 flash例項教程 用flash製作摺扇動畫 目的 掌握常用工具的基本操作,明確細緻耐心是製作成功的關鍵。重點 複製並應用變形 複製貼上翻轉幀 細緻耐心。步驟 第一步 新建檔案,寬600畫素 高400畫素 建立圖形元件,名稱為 扇梗 畫乙個寬360畫素 ...

例項教程製作真實試卷

word例項教程 製作真實試卷模板 離寒假已近,老師們可能也開始考慮製作考試試卷了。因而今天咱們就來教大家如何用word製作乙個試卷模板。一 設定頁面 試卷通常使用b4紙 橫向 分兩欄印刷,因此在製作之前,先要設定頁面。啟動word 2003 其他版本操作相似 新建一空白文件。執行 檔案 頁面設定 ...