0

我在一个标准模块中有这个代码,它工作正常:

Public Sub AutofitRows()
ThisWorkbook.Worksheets("Data").Cells.EntireRow.AutoFit
End Sub

然后我在数据工作表模块中有这段代码,由于某种原因它不会自动调整所有行:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$B$3" Then

Call AutofitRows

End If

End Sub

有人可以解释如何纠正这个问题吗?

谢谢。

4

1 回答 1

0

试试下面的代码:

Public Sub AutofitRows()
    Dim rng As Range
    Set rng = ThisWorkbook.Worksheets("Data").Rows("3:3")
    rng.AutoFit
End Sub

假设您的以下代码位于 Worksheets("Data") 上。当单元格 B3 中的值发生变化时,也会调用该过程。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$3" Then
        Call AutofitRows
    End If
End Sub
于 2013-03-15T12:00:43.893 回答