每当某个单元格的值发生变化时,我都会自动调整工作表中某些行的高度。该值是从下拉列表中选择的。
我已经成功地通过一个按钮(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
。