使用 Excel 中的宏删除整行

使用 Excel 中的宏删除整行

我有一个 Excel 电子表格,我需要制作一个按钮来删除按钮所在的整行。

假设我在单元格 G7 上有一个按钮。当我按下它时,我希望删除整行第 7 行,并将其下的所有内容上移。

这可以很容易地硬编码为删除第 7 行,但我希望在每行上都放置一个按钮,直到第 30 行,因此在 G1、G2、G3、...、G30 处,当我按下它时,我希望它只删除它所在的行。示例:我按下 G7 上的按钮,第 7 行下的所有内容都会上移,因此第 8 行变为第 7 行,依此类推。然后我按下 G9 处的按钮,我希望删除第 9 行(而不是第 10 行,在第一次按下 G7 处的按钮之前,它是第 10 行)。

可以这样做吗?

答案1

让按钮根据其执行topleftcell.row

s = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row将为您提供行号,s因此只需将其插入到删除的位置即可

利用application.caller应该可以让所有按钮执行相同的宏,但我不是 100%。查看参考这里

相关内容