excel中如何用VB来隐藏竖列

我想按一下A1可以把B,C,D这三列给隐藏起来,在按一下A1可以取消隐藏,谢谢高手们!

添加一个按钮吧,
选菜单:视图》工具栏》控件工具箱
点左上角的 三角尺+直尺+笔 的图标,进入设计模式
点“命令按钮”(就是刚才按钮的对下3个,一个按钮模样的键)
在工作表某个位置,如a1单元格上画一个长方形,得到按钮。
选“按钮”点右键,在右键菜单中选“查看代码”
在出现的visual basic 编辑器窗口,右边的代码
Private Sub CommandButton1_Click()

End Sub
在上面两行代码的中间粘贴下面的代码:

If Columns("B:D").EntireColumn.Hidden = False Then
Columns("B:D").EntireColumn.Hidden = True
Else
Columns("B:d").EntireColumn.Hidden = False
End If
Range("A2").Select

返回工作表,点“三角尺”按钮,退出设计模式。

点按钮。
OK。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-12
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

If ActiveCell.Column = 1 And ActiveCell.Row = 1 Then

If Columns("B:B").ColumnWidth = 0 Then

Columns("B:D").Select

Columns("B:D").EntireColumn.AutoFit
Else
Columns("B:D").Select
Selection.ColumnWidth = 0

End If

End If

End Sub
以上程序按一下不行.双击鼠标A1可达到你的要求.

鼠标右键点SHEET1 查看代码
将代码贴入存盘即可.
第2个回答  2009-05-12
很精彩的回复,补充一下,如果是VB的话,可以使用Excel.application 对象来完成
第3个回答  2009-05-12
踩过
第4个回答  2009-05-12
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

If ActiveCell.Column = 1 And ActiveCell.Row = 1 Then

If Columns("B:B").ColumnWidth = 0 Then

Columns("B:D").Select

Columns("B:D").EntireColumn.AutoFit
Else
Columns("B:D").Select
Selection.ColumnWidth = 0

End If

End If

End Sub
以上程序按一下不行.双击鼠标A1可达到你的要求.

鼠标右键点SHEET1 查看代码
将代码贴入存盘即可.
第5个回答  2009-05-12
很精彩的回复,补充一下,如果是VB的话,可以使用Excel.application 对象来完成
第6个回答  2009-05-12
踩过
相似回答
大家正在搜