首页 置换 选车 估价 问答 生活 经销商 车管所 汽车资讯 汽车销量 车牌查询 今日油价 天气预报
您的位置: 首页 > 生活 > 科技 > excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)
excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)
更新时间:2024-07-04 20:27:29

用 VBA 实现鼠标点击输入数据

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)1

本文分享内容:用VBA代码实现鼠标点击输入数据。主要分享ActiveWindow.RangeSelection 在VBA中的运用

实现功能:当鼠标点击指定区域时,指定输入框自动获取鼠标点击的单元格内容,从而实现用鼠标进行数据的快速输入。

本文最后会附教程下载地址和代码解释。

1、清除按钮的制作:

1.1如下图,点击开发工具,在表格中制作一个按钮。

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)2

1.2 弹出的对话框点击取消

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)3

1.3 选择按钮,更改名字为“清除”。

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)4

1.4 点击开发工具—Visual Basic 打开VBA窗口。

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)5

1.5 鼠标右击空白处,插入模块

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)6

1.6 在模块内输入代码。Range("D6:I6")表示要清空D6到I6单元格的数据。

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)7

1.7 选择按钮,右键选择“指定宏”

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)8

1.8 选择“清除”后确定,清除按钮制作完毕。

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)9

2 鼠标点击事件

2.1 鼠标右键点击该工作表,选择查看代码。

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)10

2.2 然后按下图所示选择“worksheet”和“selectionchange”

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)11

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)12

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

excel vba中鼠标移动顺序(EXCEL中用VBA实现鼠标点击输入数据)13

教程下载地址:https:///s/1a7L64MgSWcvx167eYRZf0w?pwd=oi78

提取码:oi78

有喜欢本文的可点赞、转发、评论支持哦。希望大家多多支持!

,