我在excel 2010中有一個vba函數,我使用這裏的人的幫助來構建。該函數複製表格/表格的內容,對它們進行排序,並將它們發送到適當的表格。如何選擇清除表格內容而不破壞表格?
現在運行此功能後,我想清除原始表。我可以用下面的代碼實現這一點,假設ACell被定義爲表中的第一個單元格。 ACell.ListObject.Range.ClearContents
工作正常,唯一的問題是它刪除表以及數據值。
有沒有解決這個辦法嗎?每次輸入數據時,我寧願不必設置表格。
我在excel 2010中有一個vba函數,我使用這裏的人的幫助來構建。該函數複製表格/表格的內容,對它們進行排序,並將它們發送到適當的表格。如何選擇清除表格內容而不破壞表格?
現在運行此功能後,我想清除原始表。我可以用下面的代碼實現這一點,假設ACell被定義爲表中的第一個單元格。 ACell.ListObject.Range.ClearContents
工作正常,唯一的問題是它刪除表以及數據值。
有沒有解決這個辦法嗎?每次輸入數據時,我寧願不必設置表格。
如何:
ACell.ListObject.DataBodyRange.Rows.Delete
,將讓您的表結構和標題,但清除所有數據和行。
編輯:我打算只修改我的答案的一部分從your previous post,因爲它主要是你想要的。這使得只有一行:
With loSource
.Range.AutoFilter
.DataBodyRange.Offset(1).Resize(.DataBodyRange.Rows.Count - 1, .DataBodyRange.Columns.Count).Rows.Delete
.DataBodyRange.Rows(1).Specialcells(xlCellTypeConstants).ClearContents
End With
如果你想留下所有的行完整與他們的公式和諸如此類的東西,只是做:
With loSource
.Range.AutoFilter
.DataBodyRange.Specialcells(xlCellTypeConstants).ClearContents
End With
,接近到什麼@Readify建議,但它贏得了沒有明確的公式。
儘量只清除數據(而不是整個表,包括標題):
ACell.ListObject.DataBodyRange.ClearContents
如果您想離開表格行並清除內容,請使用上面的。如果你想刪除這些行,那麼使用Doug的答案。 – Reafidy 2012-04-19 03:16:54
+ 1用新鮮的眼睛看到這一點,並給出當時信息的最接近的答案。 – 2012-04-19 13:52:50
我使用此代碼刪除我的數據,但離開公式上面一行。它還刪除除頂行外的所有行,並將頁面滾動到頂部。
Sub CleanTheTable()
Application.ScreenUpdating = False
Sheets("Data").Select
ActiveSheet.ListObjects("TestTable").HeaderRowRange.Select
'Remove the filters if one exists.
If ActiveSheet.FilterMode Then
Selection.AutoFilter
End If
'Clear all lines but the first one in the table leaving formulas for the next go round.
With Worksheets("Data").ListObjects("TestTable")
.Range.AutoFilter
On Error Resume Next
.DataBodyRange.Offset(1).Resize(.DataBodyRange.Rows.Count - 1, .DataBodyRange.Columns.Count).Rows.Delete
.DataBodyRange.Rows(1).SpecialCells(xlCellTypeConstants).ClearContents
ActiveWindow.SmallScroll Down:=-10000
End With
Application.ScreenUpdating = True
End Sub
所以,如果我刪除所有行會發生什麼?它會留下1空白的一個,或者我只是沒有單元格命名錶,我沒有頁腳在這張桌子上。 – SpeedCrazy 2012-04-19 03:31:33
只是試了一下,這完全刪除了表,公式,數據驗證,格式化,一切! – SpeedCrazy 2012-04-19 03:33:45
好的,深吸一口氣:)。如果你在你的問題中提到了諸如數據驗證和公式之類的東西,這將有所幫助我在這個主題上回答的前一個問題包括留下一行的代碼。那是你要的嗎? – 2012-04-19 03:41:19