vue 鼠标点击事件_VBA代码解决方案第115讲:点击鼠标实现精准控制触发事件的VBA代码第二方案...
大家好,我們今日繼續(xù)講解VBA代碼解決方案的第115講內容:工作表事件中,根據(jù)Target參數(shù)不同,實現(xiàn)精準控制觸發(fā)事件的VBA代碼第二方案。在上一講中我們講了利用Address的屬性實現(xiàn)控制觸發(fā)事件的方案,今日講解第二方案,就是利用Column屬性和Row屬性的方法,哪種方法好呢?這就要靠寫代碼人員的偏好了,有的人喜歡第一種,有的人喜歡第二種,我自己偏好第二種,就是今天講的這種了。
使用單元格的Column屬性和Row屬性可以將觸發(fā)條件限制在某一區(qū)域內,下面有一個程序供大家參考。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Columns("B:B").ClearContents
If Target.Column = 1 And Target.Row < 80 Then
Target.Offset(0, 1) = Val(Target)
End If
End Sub
代碼窗口:
代碼解析:當點擊工作表的A1到A80單元格時,將在對應的B列顯示A列的數(shù)值。
第3行代碼使用Column屬性將觸發(fā)條件限制在第1列,使用Row屬性將觸發(fā)條件限制在第80行以內,也就是A1到A80的區(qū)域范圍內。
運行,我們在工作表中A列和C列事先錄入同樣的數(shù)字,并把列的字體設置為白色隱藏,點擊A列就會在B列出現(xiàn)A列的數(shù)字,類似于游戲效果。
二 為了實現(xiàn)根據(jù)單元格選中范圍精準的控制選擇觸發(fā)事件,我們需要對代碼進一步優(yōu)化。例如:當我們選中的是兩個或兩個以上連續(xù)單元格,而且是在一列時才能執(zhí)行后續(xù)的代碼(可以為兩個連續(xù)個單格,也可以是多個連續(xù)單元格,但必須是為同一列),其它情況時則 Exit Sub 跳出過程,該如何寫代碼呢?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then
If Target(1).Resize(Target.Count).Address = Target.Address Then
MsgBox "可以執(zhí)行你的以下代碼"
Else
Exit Sub
End If
End If
End Sub
代碼窗口:
代碼解析: Target(1).Resize(Target.Count).Address 為以Target(1)擴展后的區(qū)域;如果和 Target.Address 一樣就可以說明是一列的連續(xù)區(qū)域了。
備考:利用Resize屬性對單元格進行擴張時,是以原單元格為起始點但包括原單元格本身的擴張。Resize屬性的語法為:
Range對象.Resize(RowSize,ColumnSize)擴展特定的單元格,返回一個由參數(shù)RowSize和ColumnSize指定行列數(shù)的單元格區(qū)域。
其中:參數(shù)RowSize指定新單元格區(qū)域的行數(shù)。若省略該參數(shù),則新單元格區(qū)域的行數(shù)與原來相同。Range('A1').Resize(1, 3).Select等價于代碼(省略了第一個參數(shù)):Range('A1').Resize(, 3).Select都將選擇單元格區(qū)域A1:C1。
參數(shù)ColumnSize指定新單元格區(qū)域的列數(shù)。若省略該參數(shù),則新單元格區(qū)域的列數(shù)與原來相同。
運行:
今日內容回向:
1 如何利用Column屬性和Row屬性實現(xiàn)精準的觸發(fā)事件?
2 如何判斷連續(xù)的單元格在整行或整列呢?
《VBA代碼解決方案》終于可以和大家見面了,是我將一些非常實用的VBA內容結集成冊,PDF文件,可以從中直接查找到你想要解決問題的思路和方法,可以復制文中的VBA代碼直接使用。有需要的朋友微信聯(lián)絡我NZ9668。
總結
以上是生活随笔為你收集整理的vue 鼠标点击事件_VBA代码解决方案第115讲:点击鼠标实现精准控制触发事件的VBA代码第二方案...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: slick edit
- 下一篇: 关于Eclipse配置Tomcat8的问