作者:乔山办公网日期:
返回目录:excel表格制作
Private Sub Worksheet_Activate()
Dim SH As Worksheet
For Each SH In Worksheets
If SH.Name <> "Sheet1" Then SH.Visible = False
Next
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Sheets(Target.Text).Visible = True
Sheets(Target.Text).Activate
End Sub
简单。把文件发我吧。
在当前工作zd表的A列生成结果回:
Sub test()
Dim ar(1 To 100, 1 To 1)
Dim i As Long, j As Long
For i = 1 To Sheets.Count
If Sheets(i).Visible = xlSheetVisible Then
j = j + 1
ar(j, 1) = Sheets(i).Name
End If
Next i
With ActiveSheet.Cells(1, 1)
.Resize(Rows.Count).ClearContents
.Resize(j) = ar
End With
End Sub
hx95华夏联盟答
新建excel,ALT+F11插入以下代码,按住F8执行,浏览到有VBA工程密码的excel文件,确定后,再按F5就可以了。
Private Sub VBAPassword()
'你要解保护的Excel文件路径
Filename = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt", , "VBA破解")
If Dir(Filename) = "" Then
MsgBox "没找到相关文件,清重新设置。"
Exit Sub
Else
FileCopy Filename, Filename & ".bak" '备份文件。
End If
Dim GetData As String * 5
Open Filename For Binary As #1
Dim CMGs As Long
Dim DPBo As Long
For i = 1 To LOF(1)
Get #1, i, GetData
If GetData = "CMG=""" Then CMGs = i
If GetData = "[Host" Then DPBo = i - 2: Exit For
Next
If CMGs = 0 Then
MsgBox "请先对VBA编码设置一个保护密码...", 32, "提示"
Exit Sub
End If
Dim St As String * 2
Dim s20 As String * 1
'取得一个0D0A十六进制字串
Get #1, CMGs - 2, St
'取得一个20十六制字串
Get #1, DPBo + 16, s20
'替换加密部份机码
For i = CMGs To DPBo Step 2
Put #1, i, St
Next
'加入不配对符号
If (DPBo - CMGs) Mod 2 <> 0 Then
Put #1, DPBo + 1, s20
End If
MsgBox "文件解密成功7a686964616fe59b9ee7ad94338......", 32, "提示"
Close #1
End Sub