excel中使用vba来自动调整所选列列宽。

1、首先我们打开一个工作样表作为例子。

2、在例子中,我们属于一些数值内容,但是因为列宽的设置的太小,数值内容以#号缩略的形式显示,这个时候我们是看不到数值内容的。

3、这个时候我们只需要修改一下列宽,加大列宽数值,即可以完整显示原有的数值,调整方法很简单,可以直接拖拉,或者输入数值。

4、这里我们可以使用更智能的方法,在vba里设置。使用 alt+f11 组合快捷键进入 vbe编辑器 ,插入一个新的模块,并在模块中输入以下代码:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

ActiveSheet.Range("i:i").EntireColumn.AutoFit

End Sub

5、这里需要注意的是,因为是输入,所以属于单元格的修改操作。那么我们在thisworkbook中就要对其单元格修改操作做定义。也就是选择 sheetchange 。

6、在thisworkbook中设置的动作不需要运行可以直接生效,我们可以现在在i列输入数据,可以看到i列自动调整了符合i列内容最长内容列宽。