1

在 Excel 中,我希望有一个可以单击的按钮来增加单元格的值。

但是,我不想增加一个绝对引用的单元格,而是增加一个单元格相对于按钮位置的值。

到目前为止,这是我正在使用的代码类型,但是找到事件对象位置的关键问题被证明是困难的......

Sub increment_value()
this.Offset(0, -2).Value = this.Offset(0, -2).Value + 1
End Sub

这就是我想要它做的(仅示例-> D5 中的按钮将 B5 增加 1。但相对是关键!):

在此处输入图像描述

子想:有没有相当于 Javascript 关键字的 Excel this:?

4

1 回答 1

2

如果您的按钮是 ActiveX 按钮,您可以向其中添加以下代码:

Private Sub CommandButton1_Click()
    Me.CommandButton1.TopLeftCell.Offset(0, -2) = _
            Me.CommandButton1.TopLeftCell.Offset(0, -2) + 1
End Sub

在哪里:

Me.指的是按钮所在的工作表。

.CommandButton1.指自己

.TopLeftCell是返回Range object位于按钮左上角的单元格的属性。因此,当您在工作表中找到它时要精确。

久经考验!

于 2013-10-23T10:06:13.563 回答