Excel 无法删除行及其上的组合框
当用户在特定列中添加文本时,我有一个创建ActiveX组合框的工作表。 具体来说,用户在列a的单元格中输入一个字符串和一个宏,然后获取文本并在同一单元格上创建一个组合框 现在,我想在新创建的组合框之外添加一个删除按钮,以便删除同一行 我也成功地创建了组合框和按钮,但是“有时”我在删除行时出错:尤其是正确地删除了行,但组合框仍然存在。我不理解这个问题,因为它不是每次都发生 如何添加组合框和删除按钮(在工作表\u更改处理程序中): 与按下删除按钮相关的宏:Excel 无法删除行及其上的组合框,excel,vba,combobox,activex,Excel,Vba,Combobox,Activex,当用户在特定列中添加文本时,我有一个创建ActiveX组合框的工作表。 具体来说,用户在列a的单元格中输入一个字符串和一个宏,然后获取文本并在同一单元格上创建一个组合框 现在,我想在新创建的组合框之外添加一个删除按钮,以便删除同一行 我也成功地创建了组合框和按钮,但是“有时”我在删除行时出错:尤其是正确地删除了行,但组合框仍然存在。我不理解这个问题,因为它不是每次都发生 如何添加组合框和删除按钮(在工作表\u更改处理程序中): 与按下删除按钮相关的宏: For Each OleObj in Ac
For Each OleObj in ActiveSheet.Rows(CInt(Application.Caller.row)).OLEObjects
oleObj.Delete
Next oleObj.Delete
Rows(CInt(ActiveSheet.Shapes(Application.Caller).name)).Delete
正如我所说,大多数情况下,相关行和相关联的组合框都会被很好地删除,但有时只有行会被删除,而组合框仍然挂起。您是否尝试过以捕获绑定到的行的方式命名按钮?例如,按钮“cat|1”位于第1行,“cat|30”位于第30行,因此您可以使用
instr(cell,“|”)
查找行号的位置,并使用该位置在activex控件中循环,并删除带有被删除行名称的控件。尝试限定您的工作表。使用ActiveSheet
可能会导致类似的问题。也就是说,要删除的代码驻留在哪里?尝试了这两种方法,但都没有明显的成功。
For Each OleObj in ActiveSheet.Rows(CInt(Application.Caller.row)).OLEObjects
oleObj.Delete
Next oleObj.Delete
Rows(CInt(ActiveSheet.Shapes(Application.Caller).name)).Delete