十七講 excel工作表事件程序

excel事件程序和宏程序的區(qū)別

a.編寫位置不同。事件程序只能在工作表的代碼窗口編寫,不可以在模塊窗口中編輯,宏程序可以放在模塊窗口。b.事件程序是自動運行的,不需要刻意去運行。

1.SelectionChange 單元格發(fā)生選取改變而觸發(fā)的程序

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox 123

End Sub

’target 是一個傳遞的通道,以不變應(yīng)萬變。


應(yīng)用:比如說不想讓別人修改我的sheet2表,也不允許復(fù)制??梢詫崿F(xiàn)保護工作表的功能。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address <> "$a$1" Then

[a1].Select

End If

End Sub

2.change

編輯某個單元格會觸發(fā)程序的運行

Private Sub Worksheet_Change(ByVal Target As Range)

MsgBox 123

End Sub

‘只要編輯sheet工作表中的單元格,就會觸發(fā)運行。change是反復(fù)運行的。使用change事件程序時候需要注意的地方。

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False '將事件程序暫時屏蔽掉

Target = Target * 2

Application.EnableEvents = True

End Sub

3.worksheet active

下面這段代碼有問題,暫時沒發(fā)現(xiàn)

Private Sub Worksheet_Activate()

If ActiveSheet.Name = "Sheet3" Then

Sheets("第十六講").Select

End If

End Sub

4. calculate 監(jiān)測公式發(fā)生改變

Private Sub Worksheet_Calculate()

MsgBox "公式值發(fā)生改變"

End Sub

5.deactive 當(dāng)離開該工作表時候就會運行該程序

Private Sub Worksheet_Deactivate()

MsgBox "謝謝使用sheet3"

End Sub

6.followHyperlink

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)

MsgBox Target.Address

End Sub

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本例為設(shè)置密碼窗口 (1) If Application.InputBox(“請輸入密碼:”) = 1234 Th...
    浮浮塵塵閱讀 14,861評論 1 20
  • 1.1 VBA是什么 直到90年代早期,使應(yīng)用程序自動化還是充滿挑戰(zhàn)性的領(lǐng)域.對每個需要自動化的應(yīng)用程序,人們不得...
    浮浮塵塵閱讀 22,159評論 6 49
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,935評論 0 33
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,699評論 19 139
  • 堅持分享第31天 今天中午,我吃完飯下樓和小伙伴們一起打槍戰(zhàn),我拿這自己的小手槍,下樓和小伙伴們一起玩耍,不過我們...
    分享堅持大師閱讀 340評論 0 1

友情鏈接更多精彩內(nèi)容