我有一个数据表。当用户单击“删除”时,将删除适用的行。我希望下面剩余行的数据向上移动一个单元格。
rs = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Row
我将rs设置为应用程序调用者的行(即要删除的行),因此我希望每个具有高于rs的值的单元格向上移动一个。
我想循环播放表格中的每个单元格需要一段时间?该表设置在列B-P之间。目前在每一行中都有一个条目的唯一列是B,那么有没有办法解决这个问题,并且一旦它在没有条目的情况下到达B列中的单元格就会停止循环?
提前致谢
答案 0 :(得分:3)
您可以在删除命令中执行此操作。
Range("Your Range”).Delete Shift:=xlUp
该代码适用于工作表行,但您可以将其调整到您的表格中。
Dim ws As Excel.Worksheet
Set ws = ActiveWorkbook.Sheets("Sheet1")
ws.ListObjects("Table3").Range.Rows(4).Delete xlShiftUp
这将删除表格的第四行。你的可能是
ws.ListObjects("Table3").Range.Rows(rs).Delete xlShiftUp
以下是使用表格的一些好消息。 http://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables