单元格值更改时自动调整行高

  • 本文关键字:调整 单元格 excel vba
  • 更新时间 :
  • 英文 :


每当某个单元格的值发生变化时,我都会自动调整工作表中某些行的高度。该值是从下拉列表中选择的。

我已经成功地通过一个按钮(Form Control(调整了高度,这个按钮有一个宏。下面的代码:

Sub ResizeHeight()
Range("C11:F26").Rows.AutoFit
End Sub

我在将此连接到单元格("C5"(更改事件时遇到问题。我尝试将宏嵌入到工作表代码中(如下所示(,以便在单元格值发生变化时触发它,但这不起作用。

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Target.Worksheet.Range("D5")) Is Nothing Then
Call ResizeHeight
End If
End Sub

您的If语句中缺少一个Not,这可以简化为以下内容:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("D5")) Is Nothing Then
Me.Rows("11:26").AutoFit
End If
End Sub

或者,如果您希望将ResizeHeight保留为单独的子例程,请替换

Me.Rows("11:26").AutoFit

带有

ResizeHeight

注意Call语句是不必要的,并且在ResizeHeight中存在隐含的ActiveSheet

最新更新