【问题标题】:Excel VBA - Move cell values up from application callerExcel VBA - 从应用程序调用者向上移动单元格值
【发布时间】:2016-02-20 03:36:44
【问题描述】:

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

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

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

我想循环浏览工作表中的每个单元格需要一段时间?该表设置在 B-P 列之间。目前,每行中唯一有一个条目的列是 B,那么有没有办法解决这个问题并让循环在它碰到 B 列中没有条目的单元格时停止?

提前致谢

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    您可以在删除命令中执行此操作。

    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

    【讨论】:

    • 发挥了作用。试图使用 .clearcontent。谢谢
    • 请点击上下箭头下方的小复选标记,让社区知道它已得到答复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 2017-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多