鼠標自動電擊器(EXCEL中用 VBA 實現鼠標點擊輸入數據)
用 VBA 實現鼠標點擊輸入數據
本文分享內容:用VBA代碼實現鼠標點擊輸入數據。主要分享ActiveWindow.RangeSelection 在VBA中的運用
實現功能:當鼠標點擊指定區域時,指定輸入框自動獲取鼠標點擊的單元格內容,從而實現用鼠標進行數據的快速輸入。
本文最后會附教程下載地址和代碼解釋。
1、清除按鈕的制作:
1.1如下圖,點擊開發工具,在表格中制作一個按鈕。
1.2 彈出的對話框點擊取消
1.3 選擇按鈕,更改名字為“清除”。
1.4 點擊開發工具—Visual Basic 打開VBA窗口。
1.5 鼠標右擊空白處,插入模塊
1.6 在模塊內輸入代碼。Range("D6:I6")表示要清空D6到I6單元格的數據。
1.7 選擇按鈕,右鍵選擇“指定宏”
1.8 選擇“清除”后確定,清除按鈕制作完畢。
2 鼠標點擊事件
2.1 鼠標右鍵點擊該工作表,選擇查看代碼。
2.2 然后按下圖所示選擇“worksheet”和“selectionchange”
2.3 代碼輸入:然后輸入如下代碼。(括號內為代碼解釋)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
i = ActiveWindow.RangeSelection.Row(獲取鼠標點擊的行號)
k = ActiveWindow.RangeSelection.Colum(獲取鼠標點擊的列號)n
If i >= 8 And i <= 12 And k >= 4 And k <= 9 Then (鎖定鼠標點擊區域。鼠標在單元格8至12行,4至9列內點擊)
If Sheet1.Range("d6") = "" Then (當第一個輸入框是空值時,將鼠標點擊單元格的值賦值給輸入框)
Sheet1.Range("d6") = ActiveWindow.RangeSelection
Exit Sub
End If
If Sheet1.Range("d6") <> "" And Sheet1.Range("E6") = "" Then(當第一個輸入框不是空值,第二個輸入框是空值時,將將鼠標點擊單元格的值賦值給第二個輸入框)
Sheet1.Range("E6") = ActiveWindow.RangeSelection
Exit Sub
End If
以下代碼同上,依次判定輸入框是否有內容,依次賦值。
If Sheet1.Range("d6") <> "" And Sheet1.Range("E6") <> "" And Sheet1.Range("F6") = "" Then
Sheet1.Range("F6") = ActiveWindow.RangeSelection
Exit Sub
End If
If Sheet1.Range("d6") <> "" And Sheet1.Range("E6") <> "" And Sheet1.Range("F6") <> "" And Sheet1.Range("g6") = "" Then
Sheet1.Range("g6") = ActiveWindow.RangeSelection
Exit Sub
End If
If Sheet1.Range("d6") <> "" And Sheet1.Range("E6") <> "" And Sheet1.Range("F6") <> "" And Sheet1.Range("g6") <> "" And Sheet1.Range("h6") = "" Then
Sheet1.Range("h6") = ActiveWindow.RangeSelection
Exit Sub
End If
If Sheet1.Range("d6") <> "" And Sheet1.Range("E6") <> "" And Sheet1.Range("F6") <> "" And Sheet1.Range("g6") <> "" And Sheet1.Range("h6") <> "" And Sheet1.Range("i6") = "" Then
Sheet1.Range("i6") = ActiveWindow.RangeSelection
Exit Sub
End If
End If
End Sub
教程下載地址:https://pan.baidu.com/s/1a7L64MgSWcvx167eYRZf0w?pwd=oi78
提取碼:oi78
有喜歡本文的可點贊、轉發、評論支持哦。希望大家多多支持!