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