创建onclick事件以在Excel

时间:2016-11-21 12:22:06

标签: excel vba macros onclick

我的学校有一个准时电子表格(excel),由成就负责人填写。为了确定他们每天迟到多少课程,他们将适当数量的X附加到单元格。

这当然需要选择单元格,双击,添加X然后移动到下一个学生...通常他们每天可以输入超过200个条目,这是相当耗时的。

我想编写一个点击事件,以便当用户点击(或双击)给定范围内的单元格时,它会自动将X附加到该单元格字符串。

如果可能的话,这将在一周内节省一笔可笑的金额。

我不得不承认我不确定如何在Excel中启动它,尽管我能胜任VB.NET和VBA for ACCESS。

我知道这可以用大约1000个宏按钮完成,但必须有更好的方法。

3 个答案:

答案 0 :(得分:1)

打开VBA编辑器,Alt + F11。

在左侧窗口中双击要使用此功能的工作表。

复制粘贴:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Target.Value = "x" ' if you want to replace the value in the cell with x
    Target.value = Target.Value & "x" ' if you want to add one x to the value of the cell

End Sub

删除找不到符合您需求的行。

关闭VBA编辑器并将文件另存为宏激活的excel文件(xlsm)。

答案 1 :(得分:0)

你可以这样做:

打开VBA(Alt + F11)

从左侧窗口打开您希望此功能工作的工作表。

然后粘贴:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B5")) Is Nothing Then _
  Range("B5") = "X"
End Sub

您可以通过更改“B5”来控制范围。目前,只有在点击B5时才会添加“X”。

答案 2 :(得分:0)

最好的方法是使用带有ShortCut键的宏

enter image description here     Sub AddX()

    If ActiveSheet.Name = "Sheet1" Then

        If ActiveCell.Row > 1 Then
            Cells(ActiveCell.Row, 2).Value = Cells(ActiveCell.Row, 2).Value & "X"
            ActiveCell.Offset(1).Select
        End If

    End If
End Sub