1

我在 A1 到 A5 列中有 5 个组合框,在第 6 列中我有一个加号和减号按钮,它们只是带有加号和减号作为文本的命令按钮

当按下加号按钮时,我有复制整行并将其插入下方的代码。当按下减号按钮时,整行被删除(您无法删除第一行,因为必须始终存在一个。

这是插入和删除行的代码:

Public Sub InsertRow()
   
Dim newBtnAddress As String

'Find out which button was clicked
newBtnAddress = ActiveSheet.Pictures(Application.Caller).TopLeftCell.Address
ActiveSheet.Pictures(Application.Caller).TopLeftCell.EntireRow.Select
Selection.Copy

'Insert a copied row below the button that was clicked
Range(newBtnAddress).Offset(1, 0).EntireRow.Select
Selection.insert Shift:=xlDown

'Deselect the copied row
Application.CutCopyMode = False   

End Sub

Sub DeleteRow()

Dim deleteAddress As String
        
deleteAddress = ActiveSheet.Pictures(Application.Caller).TopLeftCell.Address
    
'Find out which button was clicked
Range(deleteAddress).EntireRow.Delete

End Sub

我已经尝试过 Active X Combo 和表单组合,这就是我发现的。

当使用 Active X Combos 时,组合不会在添加行时被复制到新行,但是当行被删除时它们会很好地删除(如果它们在那里)。

Forms Combos 正好相反。它们在您添加行时被复制,但在删除行时不会被删除。他们也没有像 Active X Combos 这样的更改事件。

我想知道是否有人做过任何动态生成的组合以及他们采取的方法以及为什么它们的行为彼此不同?

4

0 回答 0