Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3427|回复: 6

[已解决]关于VBA中列宽设置报错的求助

[复制链接]
发表于 2012-8-23 21:23 | 显示全部楼层 |阅读模式
我在VBA中设置行高,列宽,在网上找到了行高的设置方法,其中行高用数字代表,可以执行。
后我根据它修改为列宽设置,但执行时报错,提示A变量未定义,列不是用字母表示吗?请问   
ActiveSheet.Cells(a, a).ColumnWidth = 12 这句错在哪?


Private Sub Worksheet_Activate()
ActiveSheet.Cells.RowHeight = 43
ActiveSheet.Cells(1, 1).RowHeight = 12
ActiveSheet.Cells(3, 3).RowHeight = 25
ActiveSheet.Cells(4, 4).RowHeight = 25
ActiveSheet.Cells(19, 19).RowHeight = 25
ActiveSheet.Cells(20, 20).RowHeight = 25
ActiveSheet.Cells(21, 21).RowHeight = 25
ActiveSheet.Cells(22, 22).RowHeight = 25

ActiveSheet.Cells.ColumnWidth = 25
ActiveSheet.Cells(a, a).ColumnWidth = 12

End Sub


最佳答案
2012-8-23 21:35
本帖最后由 hwc2ycy 于 2012-8-23 21:41 编辑

字母用""括上。
ActiveSheet.Cells(1, “a”).ColumnWidth = 12
行的话可以定义一个长整形变量,或者用数字表示,这个不需要用双引号括。
列的话可以定义一个STRING变量,或者用字母表示(局限性大,在26以内的话尚可,得用双引号括起来)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-8-23 21:35 | 显示全部楼层    本楼为最佳答案   
本帖最后由 hwc2ycy 于 2012-8-23 21:41 编辑

字母用""括上。
ActiveSheet.Cells(1, “a”).ColumnWidth = 12
行的话可以定义一个长整形变量,或者用数字表示,这个不需要用双引号括。
列的话可以定义一个STRING变量,或者用字母表示(局限性大,在26以内的话尚可,得用双引号括起来)

评分

参与人数 1 +1 收起 理由
bosao + 1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-8-23 22:48 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2012-8-23 23:04 | 显示全部楼层
这种写法有一定局限性,就是只要换工作表,就会重新执行一次,屏幕就要发生闪动,好处就是在宏表中没有宏名称显示,避免了被别人删除。

再请问下如何解决重新执行这一问题,只需在打开该工作表时运行一次,中途不会自动运行。
回复

使用道具 举报

发表于 2012-8-23 23:19 | 显示全部楼层
bosao 发表于 2012-8-23 23:04
这种写法有一定局限性,就是只要换工作表,就会重新执行一次,屏幕就要发生闪动,好处就是在宏表中没有宏名 ...

屏幕刷新的解决方法 :
在代码里开始设置行列宽这前加上代码
Application.ScreenUpdating = False
然后在代码结束前再加上
Application.ScreenUpdating = TRUE

还有就是在工作表打开和结束时才执行代码,这样,中间就不会不停的设置。
在thisworkbook里添加处理相应事件的代码。
private Sub Workbook_BeforeClose(Cancel As Boolean)
'在工作簿被关闭前时打开时会执行此处的代码
End Sub


Private Sub Workbook_Open()
'在工作簿被打开时打开时会执行此处的代码
End Sub

另外你也可以添加一按钮,自己需要设置时再点击按钮
无论用哪种方法,请记得加上防止刷屏的代码。

评分

参与人数 1 +1 收起 理由
bosao + 1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2012-8-23 23:59 | 显示全部楼层
非常感谢,完全达到了我的想法。
回复

使用道具 举报

发表于 2012-8-24 00:20 | 显示全部楼层
bosao 发表于 2012-8-23 23:59
非常感谢,完全达到了我的想法。

亲,既然达标了,给个好评,来上最佳吧,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 16:08 , Processed in 0.298927 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表