excel 怎么用函数设置列宽?

比如,当A2填个2,那么B列的列宽自动变为2,要怎么写?
不好意思,VBA是什么,excel自带的还是要另外安装?能简单介绍下用法吗?

1、列宽可用函数获取:cell("width",A1)

2、列宽无法用函数设置操作,只能采取手动设置或者用VBA来设置。

VBA参数:

cells(1,1).width或cells(1,1).columnwidth即为取的其宽度的参数。

Width与columnwidth有所区别,我们直接在单元各中右键输入的为后者,是以单个字符宽度为单位的列宽,而width是以磅为单位的列宽。

 

以下部分内容已经是网友回复过的了:

插入如下编码在VBA中,得到的效果是当首行有数值变化时,该列宽度有所变化。如设置宽度以磅为单位则可将columnwidth换成width。

Private SubWorksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Row= 1 Then
Target.ColumnWidth= Target.Value
End If
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-11-12
用VBA,代码是

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then Columns("B:B").ColumnWidth = Target
End Sub

VBA是excel自带
按ALT+F11弹出VBA编辑器

左边sheet列表双击选择你要实现这个效果的表格,右边空白处贴入以上代码本回答被提问者采纳
第2个回答  2015-06-18

没办法使用函数设置列宽,不过可以用vba实现,打开表格,按下Alt+F11键打开VBE编辑器,插入一个模块,粘贴以下代码(具体要实现那一列的列宽自己修改),然后把光标定位到代码中,按F5键运行即可。或者你在表格中插入一个Active控件的命令按钮,指定宏为自动设置列宽,以后单击按钮即可。

sub 自动设置列宽()
  Columns("A:A").Select
  Selection.ColumnWidth = 20
end sub

第3个回答  2009-12-17
没有控制列宽的函数,只能用VBA了。
相似回答