统计VBA学习小组正式组第八课(第十讲)的积分帖之作业上交贴(第11周)
本帖最后由 冠军欧洲2010 于 2012-4-21 13:48 编辑说明:
统计帖每个学员只能跟帖回复一次,也就是在原来回复楼层的基础上点编缉,不要一个链接一层楼,否则不计算积分。
各小组学员上交作业时,一定要点击“我要参加”,并注明自己的新组编号和论坛ID,如果点击过“我要参加”但没有跟帖提交作业的,扣该学员5积分;如果跟帖提交了作业,但没有点“我要参加”的,不给予评分。
请各学员看清上面的说明,免得被扣了分分!
本帖为仅楼主可见帖,直接回复即可!
第九课(第10讲)作业链接:
http://www.excelpx.com/thread-225973-1-1.html
本帖最后由 byhdch 于 2012-3-7 21:10 编辑
A09:byhdch
第一题:
Sub 批量添加保护()
Dim i As Integer, j As Integer
For i = 1 To Sheets.Count
For j = 2 To 5
If Sheets(i).Name = Sheets("密码表").Range("a" & j) Then
Sheets(i).Protect Password:=Sheets("密码表").Range("b" & j).Value
End If
Next j
Next i
End Sub
第二题:
Sub 隐藏工作表()
Dim i As Integer
For i = 1 To Sheets.Count
If Sheets(i).Name <> "主界面" Then
Sheets(i).Visible = 0
End If
Next i
End Sub
第三题:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheets("主界面").Select
End Sub
老师 您好您看一下 我的作业是否正确
第一题
Sub 添加密码()
Dim rng As Range, i As Integer
For i = 2 To 5
For Each rng In Range("a2:a5")
If rng = Sheets(i).Name Then
Sheets(i).Protect Password:=rng.Offset(0, 1).Value
End If
Next rng
Next i
End Sub
第二题
Sub 隐藏工作表()
Dim x As Integer
For x = 1 To Sheets.Count
If Sheets(x).Name <> "主界面" Then Sheets(x).Visible = 0
Next x
End Sub
第三题
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheets("主界面").Select
End Sub
Option Explicit
Private Sub Workbook_Activate()
If ActiveSheet.Name <> "主界面" Then Sheets("主界面").Select
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name <> "主界面" Then Sheets("主界面").Select
End Sub
Option Explicit
Sub 隐藏工作表()
Dim i As Integer
For i = 1 To Sheets.Count
If Sheets(i).Name = ActiveSheet.Name Then Exit Sub
Sheets(i).Visible = False
Next
End Sub
Sub 批量添加保护()
Dim i As Integer
For i = 2 To 5
Sheets(Cells(i, 1).Value).Protect Cells(i, 2).Value
Next
End Sub
g17:szczm121
1题
Sub 批量保护工作表()
Sheets("sheet2").Protect Password:=2
Sheets("sheet3").Protect Password:=89
Sheets("sheet4").Protect Password:=2
Sheets("sheet5").Protect Password:=5
End Sub
2题
Sub 隐藏工作表()
Sheets(Array("Sheet2", "Sheet3", "Sheet4", "Sheet5", "密码表")).Visible = 0
End Sub
3题
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheets("主界面").Select
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheets("主界面").Select
End Sub
Sub 隐藏工作表()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.Name <> "主界面" Then
Sh.Visible = 0
End If
Next
End SubSub 批量添加保护()
Dim i As Integer
Dim Sh As Worksheet
For i = 2 To Range("a65536").End(xlUp).Row
For Each Sh In Worksheets
If Sh.Name = Cells(i, 1) Then
Sh.Protect Cells(i, 2)
End If
Next
Next
End Sub 作业中有二个地方没按老师的思路走:
一、各工作表的密码都相同(我记忆力不好)
二、在给工作表加密的过程中,事先没有判断工作表是否已经加密。直接用错误语句跳过。
另外:本人一直不机会听老师讲课(给其他同学让道),老师是否可以在群里共享课件?? **** Hidden Message *****
Sub 批量添加保护()
Sheets("Sheet5").Protect 5
Sheets("Sheet4").Protect 2
Sheets("Sheet2").Protect 2
Sheets("Sheet3").Protect 89
End Sub