将 Excel Table 大小调整为默认设置
Resize Excel Table to a default setting
我正在尝试将 Excel table 的大小调整为 4 行 6 列的标准设置
我可以对列执行此操作,但我仍然看到基于之前内容的空行。
Sub ClearTableContents()
Dim wrksht As Worksheet
Dim objListObj As ListObjects
Dim tableName As String
Dim ActiveTable As ListObject
Dim ActiveRange As Range
Set wrksht = ActiveWorkbook.Worksheets("Sheet1")
Set objListObj = wrksht.ListObjects
With objListObj
For i = 1 To objListObj.Count
tableName = objListObj(i).Name
Set ActiveTable = ActiveSheet.ListObjects(tableName)
'ActiveTable.DataBodyRange.Rows.ClearContents
objListObj(i).DataBodyRange.Rows.ClearContents
On Error Resume Next
'objListObj(i).DataBodyRange.Resize(objListObj(i).DataBodyRange.Rows.Count - 4,
objListObj(i).DataBodyRange.Columns.Count - 6).Rows.Delete
objListObj(i).DataBodyRange.Resize(4, 6).Rows.Delete
If Err.Number <> 0 Then
' process Error
MsgBox "Error: (" & Err.Number & ") " & Err.Description, vbCritical
End If
Next i
End With
End Sub
这将留下 header 和三行,因此请调整以适应。
Sub x()
With ActiveSheet.ListObjects(1)
.Range.Rows("5:" & .Range.Rows.Count).Delete
.Resize .Range.Resize(4, 6)
End With
End Sub
我正在尝试将 Excel table 的大小调整为 4 行 6 列的标准设置 我可以对列执行此操作,但我仍然看到基于之前内容的空行。
Sub ClearTableContents()
Dim wrksht As Worksheet
Dim objListObj As ListObjects
Dim tableName As String
Dim ActiveTable As ListObject
Dim ActiveRange As Range
Set wrksht = ActiveWorkbook.Worksheets("Sheet1")
Set objListObj = wrksht.ListObjects
With objListObj
For i = 1 To objListObj.Count
tableName = objListObj(i).Name
Set ActiveTable = ActiveSheet.ListObjects(tableName)
'ActiveTable.DataBodyRange.Rows.ClearContents
objListObj(i).DataBodyRange.Rows.ClearContents
On Error Resume Next
'objListObj(i).DataBodyRange.Resize(objListObj(i).DataBodyRange.Rows.Count - 4,
objListObj(i).DataBodyRange.Columns.Count - 6).Rows.Delete
objListObj(i).DataBodyRange.Resize(4, 6).Rows.Delete
If Err.Number <> 0 Then
' process Error
MsgBox "Error: (" & Err.Number & ") " & Err.Description, vbCritical
End If
Next i
End With
End Sub
这将留下 header 和三行,因此请调整以适应。
Sub x()
With ActiveSheet.ListObjects(1)
.Range.Rows("5:" & .Range.Rows.Count).Delete
.Resize .Range.Resize(4, 6)
End With
End Sub