2016-02-19 53 views
2

我有一個數據表。當用戶點擊'刪除'時,適用的行被刪除。我想要從其餘行下面的數據向上移動一個單元格。Excel VBA - 從應用程序調用者向上移動單元格值

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

我設置RS作爲應用程序調用者的行(即多數民衆贊成被刪除行),所以我想每一個細胞都具有較高的是RS移動到上一個值。

我想這將需要一段時間來循環表單中的每個單元格?該表被設置在列B-P之間。目前唯一一個在每一行都有一個入口的列是B,那麼是否有辦法解決這個問題,並且一旦它在沒有入口的情況下碰到B列中的一個單元就停止循環?

在此先感謝

回答

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

+0

工作過的魅力。正在嘗試使用.clearcontent。謝謝 –

+0

請點擊上下箭頭下方的小複選標記,讓社區知道它已被回答。 – MatthewD

相關問題