午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

VBA入門:事件優(yōu)先級(jí)

 惠陽居士 2017-12-13

本文為《Excel 2016應(yīng)用大全》擴(kuò)展內(nèi)容 

事件就是由Excel用戶或者系統(tǒng)觸發(fā)的,可以在VBA代碼中進(jìn)行響應(yīng)的代碼組合。

例如:當(dāng)工作表被激活、選中單元格、更單元格內(nèi)容操作可以觸發(fā)一系列的相關(guān)事件通過編寫VBA代碼響應(yīng)這些事件,當(dāng)事被觸發(fā)時(shí),將運(yùn)行事件過程執(zhí)行進(jìn)行相應(yīng)的操作。

事件過程作為一種特殊的Sub過程,在滿足特定條件時(shí)被觸發(fā)執(zhí)行,如果事件過程包含參數(shù),系統(tǒng)會(huì)為相關(guān)參數(shù)賦值。

事件過程必須寫入相應(yīng)的模塊中才能發(fā)揮其作用,例如:工作簿事件過程須寫入ThisWorkbook模塊中,工作表事件過程則須寫入相應(yīng)的工作表模塊中,且只有過程所在工作表的行為可以觸發(fā)該事件。

事件過程作為一種特殊的Sub過程,在VBA中已經(jīng)規(guī)定了每個(gè)事件過程的名稱和參數(shù)。

用戶可以【代碼】窗口中手工輸入事件過程的全部代碼,但是更便捷的方法是在【代碼】窗口中選擇相應(yīng)的對(duì)象和事件,VBE將自動(dòng)在【代碼】窗口中添加事件過程的聲明語句和結(jié)束語句。

在【代碼】窗口上部左側(cè)的【對(duì)象】下拉框中選中Worksheet,在右側(cè)的【事件】下拉框中選中Change,Excel將自動(dòng)在【代碼】窗口中輸入如 48-1所示的工作表Change事件過程代碼框架。

 48-1    【代碼】窗口中快速添加事件代碼框架

事件過程的代碼需要寫入在SubEnd Sub之間,在代碼中可以使用事件過程參數(shù),不同的事件過程,其參數(shù)也不盡相同。

通過示例 48.2示例 48.4的學(xué)習(xí)可以知道,工作簿對(duì)象的SheetSelectionChange件和Worksheet對(duì)象的SelectionChange事件的觸發(fā)條件是相同的。

但是,Excel應(yīng)用程序在任何時(shí)刻都只能執(zhí)行唯一的代碼,即無法實(shí)現(xiàn)并行處理事件代碼。

如果同時(shí)使用此類觸發(fā)條件相同的事件,就需要預(yù)先確切地知道事件的優(yōu)先級(jí),即相同條件下事件被激活的先后次序。這些優(yōu)先級(jí)順序并不需要大家刻意去記憶,可以利用代碼輕松的獲知事件的優(yōu)先級(jí)。


確定事件的激活順序
1


新建一個(gè)Excel工作簿文件,按組合鍵切換到VBE窗口。


2


在【工程資源管理器】中雙擊“ThisWorkbook”,在右側(cè)的【代碼】窗口中輸入如下代碼。


#001  Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _

                                               ByVal Target As Range)

#002      MsgBox ' Workbook_SheetSelectionChange事件' ,vbInformation

#003  End Sub



3


在【工程資源管理器】中雙擊活動(dòng)工作表,在右側(cè)的【代碼】窗口中輸入如下代碼。


#001  Private Sub Worksheet_SelectionChange(ByVal Target As Range)

#002      MsgBox 'Worksheet_SelectionChange事件' ,vbInformation

#003  End Sub

4


返回Excel界面中,在活動(dòng)工作表中選中任意單元格。Excel將依次顯示兩個(gè)提示對(duì)話框,如 48-6所示。

 48-6    事件的激活順序

由此可知,工作表的SelectionChange事件先于工作簿的SheetSelectionChange事件被激活。

對(duì)于其他的多個(gè)事件激活順序可以采用類似的方法進(jìn)行驗(yàn)證。



    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多