2017-05-27 129 views
1

我不擅长excel,所以不知道如何做到这一点。excel vba用activex按钮复制行

我有一个需求在哪里。会有一个按钮(添加按钮),它将添加一个新的行。 此现有工作表包含具有数据的行,并且在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 
+0

确认每个行都是相同的吗? –

+0

@罗梅尔格鲁兹是的。验证按钮的代码将自动更新每列的D,E列。相同的代码将在那里,但它只会更新尊重的行。 – Rajarshi

+0

你可以发布你的代码吗? – Tehscript

回答

0

1 - 插入从窗体控件一个按钮,电池A5

enter image description here

2,让您的验证码在子(你可以命名为任何你喜欢)

Sub MyValidateButtonCode() 
'here goes your validate button code 
MsgBox "It works!" 
End Sub 

3-将宏指定给单元格A5中的按钮

enter image description here enter image description here

4单击CommandButton1(添加行按钮),然后运行上述代码复制行。

+0

我试过了,但仍然无法复制按钮。其余的东西,它复制除了按钮列A. – Rajarshi

+0

我已经使用下面来复制它,但有另一个问题。无法将按钮的名称属性从“验证”更改为新行上的其他内容。 Application.ScreenUpdating =假 表(SHT).Shapes( “验证”)。复印 表(SHT).Activate 表(SHT).Range(RNG)。选择 表(SHT).Paste 表(SHT ).Shapes(“validate”)。选择 Selection.Characters.Text = btn Application.ScreenUpdating = True – Rajarshi

+0

@iamnew不要更改您的复制代码。它工作正常。如果无法让按钮被复制,请尝试以下操作:右键单击按钮并选择剪切。然后点击单元格A5,右键单击它并选择粘贴。然后再次尝试您的代码。 – Tehscript