E134-在Excel內使用AI協助自動化處理,一鍵生成工作表目錄(完成).xlsm
E134-在Excel內使用AI協助自動化處理,一鍵生成工作表目錄(練習).xlsx
<aside> 🔔
Prompt:請提供我VBA語法,讓我可以動態抓取每一張工作表的名稱,從A1開始放置,每一次放置之前,先清除A欄所有的資料
</aside>
Sub ListSheetNames()
Dim ws As Worksheet
Dim currentSheet As Worksheet
Dim i As Integer
' Set the current worksheet where names will be listed
Set currentSheet = ThisWorkbook.Sheets("動態目錄作法")
' Clear column A
currentSheet.Columns("A").Clear
' Start putting sheet names in A1
i = 1
' Loop through all sheets in the workbook
For Each ws In ThisWorkbook.Sheets
' Add sheet name to the current sheet
currentSheet.Cells(i, 1).Value = ws.Name
i = i + 1
Next ws
End Sub
<aside> 🔔
Prompt:修改此VBA語法,點按工作表名稱之後,可以超連結到對應的工作表A1位置
</aside>
Sub ListWorksheetNamesWithHyperlinks()
Dim ws As Worksheet ' 用於存放每個工作表的變數
Dim currentSheet As Worksheet ' 用於存放目前的工作表
Dim i As Integer ' 用於追蹤行數的變數
' 將目前的工作表設為變數 currentSheet
Set currentSheet = ActiveSheet
' 清空目前工作表 A 列的所有內容
currentSheet.Columns("A").ClearContents
' 初始化行數為 1(從第一行開始)
i = 1
' 遍歷目前活頁簿內的所有工作表
For Each ws In ThisWorkbook.Worksheets
' 在目前工作表的 A 列插入工作表名稱並建立超連結
currentSheet.Hyperlinks.Add Anchor:=currentSheet.Cells(i, 1), _
Address:="", SubAddress:="'" & ws.Name & "'!A1", _
TextToDisplay:=ws.Name
' 將行數加 1,移動到下一行
i = i + 1
Next ws
End Sub
vba複製
Dim ws As Worksheet
Dim currentSheet As Worksheet
Dim i As Integer
Dim ws As Worksheet
:宣告變數 ws
,用於在迴圈中指向每個工作表。Dim currentSheet As Worksheet
:宣告變數 currentSheet
,用於指向目前使用者正在操作的工作表。Dim i As Integer
:宣告變數 i
,用於記錄行數(控制資料插入的位置)。vba複製
Set currentSheet = ActiveSheet