Excel VBA - 从应用程序调用者向上移动单元格值

时间:2016-02-19 19:12:35

标签: excel vba

我有一个数据表。当用户单击“删除”时,将删除适用的行。我希望下面剩余行的数据向上移动一个单元格。

rs = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Row

我将rs设置为应用程序调用者的行(即要删除的行),因此我希望每个具有高于rs的值的单元格向上移动一个。

我想循环播放表格中的每个单元格需要一段时间?该表设置在列B-P之间。目前在每一行中都有一个条目的唯一列是B,那么有没有办法解决这个问题,并且一旦它在没有条目的情况下到达B列中的单元格就会停止循环?

提前致谢

1 个答案:

答案 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