A. EXCEL 如何用vba隐藏工作表
请参考
http://..com/question/141093343.html
http://www.excelperfect.com/index.php/2010/05/06/askuserenablemacros/
DimshAsWorksheet
PrivateSubWorkbook_BeforeClose(CancelAsBoolean)
Sheet1.Visible=True
ForEachshInThisWorkbook.Sheets
Ifsh.Name<>"空白"Then
sh.Visible=xlSheetVeryHidden
EndIf
Next
ActiveWorkbook.Save
EndSub
PrivateSubWorkbook_Open()
ForEachshInThisWorkbook.Sheets
Ifsh.Name<>"空白"Then
sh.Visible=xlSheetVisible
EndIf
Next
Sheet1.Visible=xlSheetVeryHidden
EndSub
代码解析:
第2行到第10行代码是工作簿的BeforeClose事件过程,在工作簿关闭前隐藏除“空白”表以外的所有的工作表。
第3行代码将“空白”表的Visible属性设置为True,使其可见。
应用于Charts和Worksheets对象的Visible属性决定对象是否可见,语法如下:
expression.Visible
参数expression是必需的,该表达式返回上面的对象之一。
Visible属性可以设置为表格 28 1所示的XlSheetVisibility常量之一。
常量 值 描述
xlSheetHidden 0 隐藏对象,可以通过“格式”→“工作表”→“取消隐藏”菜单使对象重新可见,等同于设置为False。
xlSheetVisible -1 使对象重新可见,等同于设置为True。
xlSheetVeryHidden 2 隐藏对象,使该对象重新可见的唯一方法是将此属性设置为True或xlSheetVisible。
表格 28 1 XlSheetVisibility常量
第4行到第8行代码使用For Each...Next语句遍历工作簿中所有的工作表,将除“空白”表以外的所有工作表的Visible属性设置为xlSheetVeryHidden,使之隐藏。
Visible属性设置为xlSheetVeryHidden后工作表不能通过“格式”→“工作表”→“取消隐藏”菜单来显示隐藏的工作表。
第9行代码使用Save方法保存代码所在工作簿的更改,在关闭工作簿时不显示消息框。
第10行到第18行代码是工作簿的Open事件过程,在打开工作簿时将除“空白”表以外的所有工作表的Visible属性设置为xlSheetVisible,取消隐藏。如果打开工作簿时禁用宏,则工作簿中除了“空白”表以外,其他的工作表还处于深度隐藏的状态,如图 28 2所示,这样就达到强制用户启用宏的效果,当然这还需要VBA工程保护的配合。
B. VBA直接显示窗体,隐藏工作表后,窗体无法读取隐藏工作表单元格内容
上面代码肯定可以读取隐藏工作表的数据
C. 用vba能对隐藏单元格和隐藏工作表进行各种操作吗
当然是可以的。只要代码中不要存在一些选中的语句就可以。见以下代码
range("c1").select
selection.value="AAA"
上面代码是指选中C1单元格,再赋值,还有另外一种直接赋值的写法如下:
range("c1")="AAA"
假如C列是隐藏的,那第一种写法就会报错,而用第二种方法则正常赋值成功!
D. VBA能不能从隐藏的sheet中调用信息
可以调用。如果不知道索引的话,也可以用sheet("工作表名称")来调用,例如:
Sub test()
MsgBox Sheets("qry_e_personal").Range("B2")
End Sub
E. 求助:excel 用vba 时,怎么才能选中隐藏表格中的数据
可以尝试将复制的文件先粘贴到非隐藏的单元格,再增加一段复制代码应该就可以了
Private Sub CommandButton1_Click()
Range("C30:C39").Copy Range("C1000:c1009")
Range("C1000:c1009").Copy
End Sub
F. Excel vba不能引用隐藏的工作表函数么
没有隐藏工作表的函数
VBA中可以利用
Sheets("工作表名").visible=False
来隐藏工作表
G. Excel工作簿用VBA怎么隐藏工作表
你要隐藏哪个工作就写哪个工作表
如
Sub aa()
Sheets("sheet1").Visible = 0
End Sub
这是隐藏sheet1这个工作表的,=2时尝试深度隐藏,=-1时显示工作表,=0时一般隐藏,可在工作表点右键取消隐藏,深度隐藏时,在工作表中不能取消隐藏。
H. VBA宏怎么实现隐藏当前工作表
Option Explicit
Sub ast()
Dim i
For i = 2 To Worksheets.Count
Sheets(i).Visible = False
Next
Sheets(1).Visible = True
End Sub
这种情况是你的主页表格编号为1的情况,注意是编号,不是名字
或者你用楼上的activesheet也可以隐藏
I. 如何用VBA调用工作表数据.
Sub test()
Dim i&
Dim r
r = Worksheets(1).Range("A65536").End(xlUp).Row
For i = 1 To r
If (Worksheets(1).Cells(i, 1) <> "") Then
Worksheets(2).Cells(i, 1) = Worksheets(1).Cells(i, 1)
Worksheets(3).Cells(i, 1) = Worksheets(1).Cells(i, 2)
Worksheets(4).Cells(i, 1) = Worksheets(1).Cells(i, 3)
Worksheets(5).Cells(i, 1) = Worksheets(1).Cells(i, 4)
End If
Next i
End Sub
我这信息有时能读有时看不到 刚回覆你 不知道成功没 再在这贴一下
表二的第一列等于了表一的第一列 表三的第一列等于表一的第2列。。。不知道是这个意思吗?
J. 如何显示用VBA隐藏的工作表
隐藏工作表有两种方法:
①
'浅层隐藏(用户可通过菜单取消隐藏)
Sheet2.Visible=xlSheetHidden
②
'深层隐藏(用户无法通过菜单取消隐藏).
Sheet2.Visible=xlSheetVeryHidden