【发布时间】:2020-06-22 05:06:12
【问题描述】:
我正在尝试将当前列宽与自动调整列宽进行比较,如下所示:
Option Explicit
Dim Tbl As Object
Dim Col As Integer
Dim I As Integer
Dim OldColumnWidth As Integer
Dim NewColumnWidth As Integer
Private Sub WorkSheet_Change(ByVal Target As Range)
'On Error GoTo ErrHandler
Set Tbl = ListObjects("RuimteTabel")
Col = Tbl.DataBodyRange.Columns.Count
For I = 1 To Col
OldColumnWidth = Tbl.ListColumn(I).Range.ColumnWidth
NewColumnWidth = Tbl.DataBodyRange.Column.AutoFit
If NewColumnWidth < OldColumnWidth Then
'Tbl.DataBodyRange = OldColumnWidth
Else
'Tbl.DataBodyRange = NewColumnWidth
End If
Next I
但是每当它在OldColumnWidth = Tbl.ListColumn(I).Range.ColumnWidth 行时,它都会给出错误:
对象不支持该属性或方法
我了解错误发生的原因,但我没有发现我的代码有任何问题/如何修复错误
【问题讨论】:
标签: excel vba listobject