Excel单击销售表单按钮
我对编码还不熟悉,我正在尝试为我在店里的小吃店设置一个简单的POS机。代码是有效的,但我有很多东西要卖。我有一个主线宏来定位按钮,我只是想知道是否有一种方法可以将结果从cs输入到.Range(),这样我就不必手动更改每行的代码,而不用一个代码来自动定位按钮并自动选择单元格并输入其值Excel单击销售表单按钮,excel,vba,Excel,Vba,我对编码还不熟悉,我正在尝试为我在店里的小吃店设置一个简单的POS机。代码是有效的,但我有很多东西要卖。我有一个主线宏来定位按钮,我只是想知道是否有一种方法可以将结果从cs输入到.Range(),这样我就不必手动更改每行的代码,而不用一个代码来自动定位按钮并自动选择单元格并输入其值 Sub btn1_Click2() Static value As Integer value = value + 1 'Mainlineup Macro Dim b As Object, cs As Integer
Sub btn1_Click2()
Static value As Integer
value = value + 1
'Mainlineup Macro
Dim b As Object, cs As Integer
Set b = ActiveSheet.Buttons(Application.Caller)
With b.TopLeftCell
cs = .Row
End With
Worksheets(1).Range("D$").value = value
End Sub
干得好!你应该从细胞及其价值的角度来思考,这应该会有所帮助。每个细胞都是一个“范围”,但并非每个范围都是一个细胞 首先,将保留字“Value”的使用让给Excel。如果您使用同一个词来标识一个变量,您和Excel都会感到困惑。Excel中将存在无法解释的“错误”
Range(“D$”
不定义单元格,因为单元格既有行也有列。该术语将抛出一个错误,这是可以预测的,因为该术语既不定义范围也不定义单元格
当您在VBA中定义单元格时,我建议您使用行和列来定义它,如ActiveSheet.Cells(3,5)
在工作表术语中是“E3”。VBA确实理解ActiveSheet.Range(“E3”)
。所以真正的问题是你是否这样做。一旦开始使用行和列来操作单元格和区域,就会容易得多,因为计算数字要比计算名称容易得多
不幸的是,我不明白你的意图。但是,通过为单元格的value
属性指定一个值,您的做法是正确的。您也可以为范围的value
属性指定一个值,但range(“D:D”)。value=4
将为D列中的每个单元格指定相同的值
也许这就是你的想法<代码>工作表(1)。范围(“D”和Cstr(cs))。值=值。我会这样写:工作表(1).Cells(cs,4).Value=Value
。也许工作表(1)。单元格(cs,“D”)。Value=Value
将是一种折衷方案
为了以防万一,我指出
b.TopLeftCell
是一个单元格(因此也是一个范围),因此具有Value
属性。像工作表(1).Cells(cs,4).Value=b.TopLeftCell.Value这样的代码是完全合法的,从外观上看,它可以做你期望它做的事情。我非常感谢你的帮助。实际上我有.Range(“D2”)。按钮使用我的代码完成了它的工作。我只想要一个宏,可以用于所有按钮。多亏了你的帮助,我完成了这件事。最后,我将代码重写为:Sub btn1\u Click2()
静态值为整数
'Mainlineup宏
Dim b As Object,cs As Integer
设置b=ActiveSheet.butions(Application.Caller)
带b.TopLeftCell
以值=工作表(1)结尾。单元格(cs,5)。值+1
工作表(1)。单元格(cs,5)。值=值