【问题标题】:Create macro for deleting pre-existing buttons and then adding new ones in excel-vba创建宏以删除预先存在的按钮,然后在 excel-vba 中添加新按钮
【发布时间】:2016-04-12 17:25:19
【问题描述】:

我正在研究 Excel-VBA,我正在尝试创建一个宏,该宏将删除所选区域中的按钮并创建新按钮。虽然我已经创建了删除所选区域中的按钮的代码,但我无法创建新按钮,因为新按钮编号与宏中记录的编号不同。有什么办法吗?

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    以下代码在 Excel 文件的第一张表上创建一个按钮,并根据您的喜好为其命名。只需确保该工作表上还没有该名称的按钮即可。

    Public Sub NewButtons()
    
    Dim btnNewButton As Button
    
    With Worksheets(1).Range("F5")
        Set btnNewButton = .Parent.Buttons.Add(.Left, .Top, 100, 50)
    End With
    With btnNewButton
        .Caption = "Press me!"
        .Name = "NameOfTheButton"
        .OnAction = "NameOfTheSubToCallWhenPressed"
    End With
    
    End Sub
    

    新按钮与单元格 F5 对齐(您也可以根据需要进行调整)。按钮的宽度和高度分别为 100 和 50。

    我希望我正确理解了您,这可以解决您的问题。

    【讨论】:

    • 这有帮助,但删除功能不再起作用,因为它显示无法获取按钮类的 TopLeftCell 属性的错误。
    • 这应该可以工作:Worksheets(1).Buttons("NameOfTheButton").TopLeftCell.AddressIf Worksheets(1).Buttons("NameOfTheButton").TopLeftCell.Address = "$F$5" Then Worksheets(1).Buttons("NameOfTheButton").Delete
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    相关资源
    最近更新 更多