【发布时间】:2017-05-27 08:31:12
【问题描述】:
我不是 excel 方面的专家,所以不知道如何做到这一点。
我有一个要求。将有一个按钮(添加按钮),它将添加一个新行。 此现有工作表包含带有数据的行,并且在 A 列上有一个 ActiveX 按钮(验证按钮 - 每个按钮都有一个代码)。
所以当我点击添加按钮时,它会在底部添加一行,在 A 列中添加一个 Activex 按钮(验证按钮),并在后端添加针对它的代码。
您能告诉我如何实现这一目标吗?
Excel 工作表示例图片:https://ibb.co/cijovv
我编写的代码只添加了一行,但无法复制 A 列上的 ActiveX 按钮和后端的代码。
添加行代码:
Private Sub CommandButton1_Click()
Dim Lr As Integer
Dim newLr As Integer
Dim lim As String
Lr = Range("A" & Rows.Count).End(xlUp).Row 'Searching last row in column A
newLr = Lr + 1
lim = "B" & newLr & ":" + "D" & newLr
Application.CopyObjectsWithCells = True
Rows(Lr).Copy
Rows(newLr).Insert
'Range(lim).ClearContents
Application.CopyObjectsWithCells = False
End Sub
【问题讨论】:
-
每一行的验证是否相同?
-
@Romel Geluz 是的。验证按钮的代码将针对每一行自动更新 D、E 列。相同的代码将在那里,但它只会更新受尊重的行。
-
您也可以发布您的代码吗?
-
使用 ActiveX 控件而不是表单控件有什么原因吗?如果您使用哪个控件并不重要,您所要做的就是将一个按钮(来自表单控件)插入到所需的位置,并为其分配一个宏(在后端使用您的术语对它的代码)。当您在不更改任何内容的情况下运行代码时,分配给它的按钮和宏也会被复制。
-
任何事情对我来说都可以实现这一点。如果你让我知道替代解决方案以及如何做到这一点?