前言當(dāng)然這要用到VBA,有人問VBA是不是很難,其實(shí)難的是我們不知道EXCEL的內(nèi)部運(yùn)行機(jī)理,如果知道了EXCEL內(nèi)部是如何運(yùn)行的,再稍微懂一點(diǎn)循環(huán)的語句和編程的思維,就容易多了。 好在EXCEL有錄制宏的功能,下面老崔就帶大家體驗(yàn)一下學(xué)習(xí)VBA的過程。 1第一步:錄制宏我不會(huì)VBA,但我可以手動(dòng)插入連接,此時(shí)你不妨把你的操作過程用宏錄制的功能記錄下來。 步驟: 開發(fā)工具-錄制宏-確定,宏默認(rèn)保存在當(dāng)前工作簿中 選中目錄工作表,選擇A1單元格,插入-超連接-本文檔中的位置-選擇單元格引用的工作表和地址-確定。 這樣就建立了第一個(gè)鏈接,如下圖: 點(diǎn)擊停止錄制按鈕,停止宏的錄制過程! 按ALT+F11打開VBA編輯器,打開當(dāng)前工作簿的模塊1,代碼如下: Sub 宏1() ' ' 宏1 宏 ' ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="",SubAddress:= _ "函數(shù)!A1", TextToDisplay:="函數(shù)!A1" End Sub 2第二步:分析代碼核心代碼只有一句,通過分析,我們基本了解了超連接的方法和屬性,如下圖所示: 3第三步:改進(jìn)代碼單純的錄制是沒有意義的,我們就是要通過錄制,發(fā)現(xiàn)EXCEL內(nèi)部是如何運(yùn)行的,他的代碼是如何組織的?然后改進(jìn)它,為我們服務(wù)! 增加循環(huán)語句,使目標(biāo)工作表在所有工作表中循環(huán)一遍,包括目錄工作表! For each sh in worksheets …… Next 增加判斷語句,如果工作表名稱不等于目錄,則執(zhí)行程序代碼,否則跳過。 If sh.Name <> "目錄" Then …… i=i+1 End If 把固定引用變成變量,如: 目錄地址:selection用cells(i,1)表示,通過i的遞增實(shí)現(xiàn)目錄單元格下移 目標(biāo)地址:“函數(shù)!A1” 用 sh.name&"!A1" 表示,在不同的工作表中循環(huán)引用 顯示文本:“函數(shù)!A1”用:"表" &i & ":" & sh.Name 表示 所有代碼: Sub 目錄() Dim i As Integer Dim sh As Worksheet i = 1 For Each sh In Worksheets If sh.Name <> "目錄" Then Worksheets("目錄").Hyperlinks.Add Anchor:=Cells(i, 1), Address:="",SubAddress:= _ sh.Name & "!a1", TextToDisplay:="表" &i & ":" & sh.Name i = i + 1 End If Next End Sub 4第四步:調(diào)試運(yùn)行程序鼠標(biāo)放在代碼中的任意位置,按F8單步運(yùn)行,按F5 運(yùn)行整個(gè)過程。結(jié)果如下: 總結(jié)學(xué)習(xí)VBA從錄制代碼開始。 |
|
|