获取button以在Excel中移动单元格

我在Excel中有一个macros插入一个新的,预先确定的行到电子表格。 作为该过程的一部分,它在最后一列中插入一个button,该button被编程为运行macros以对该行执行特定的操作。

通常需要对工作表进行sorting以重新排列数据,但是我发现当我这样做时,button不会随其相关联的行移动,并且这些操作变得混杂起来。

我已经尝试将button的属性设置为'XLMove',但它不起作用 – 当数据sortingbutton保持放在他们原来的单元格。

我怎样才能将button锚定到他们最初插入的单元格,以便sorting也移动button?

Dim btn As Button Set btn = ActiveSheet.Buttons.Add(1173, 257.25, 41.25, 23.25) With btn .Placement = xlMove .OnAction = "ButtonRow" .Characters.Text = "Action!" .Left = ActiveCell.Left .Top = ActiveCell.Top End With 

尝试

 With btn .Placement = xlMove .OnAction = "ButtonRow" .Characters.Text = "Action!" .Left = ActiveCell.Left .Top = ActiveCell.Top ActiveSheet.Shapes(.Name).LockAspectRatio = msoTrue End With