Chr*_*isA 9 excel vba column-width
我通常会尝试在Excel中避免使用VBA,但是能够将文本键入单元格并使其列更宽或更窄以容纳输入或删除的文本时更方便.
当然,这将受制于列中其他单元格中文本的长度.
"键入时自动调整",我猜你可以称之为.
有一种简单的方法可以在合适的处理程序中执行此操作吗?
Fin*_*ink 10
我不确定在打字时是否有办法做到这一点.我认为excel通常会拉伸单元格视图以在触发worksheet_change事件之前显示所有文本.
更改并将目标移动到新范围后,此代码将调整列的大小.将其放在工作表模块中.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nextTarget As Range
Set nextTarget = Range(Selection.Address) 'store the next range the user selects
Target.Columns.Select 'autofit requires columns to be selected
Target.Columns.AutoFit
nextTarget.Select
End Sub
Run Code Online (Sandbox Code Playgroud)
如果您只想为特定列执行此操作,则需要检查目标列,如下所示:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim nextTarget As Range
Set nextTarget = Range(Selection.Address) 'store the next range the user selects
If Target.Column = 1 Then
Target.Columns.Select 'autofit requires columns to be selected
Target.Columns.AutoFit
nextTarget.Select
End If
End Sub
Run Code Online (Sandbox Code Playgroud)