冠军欧洲2010 发表于 2012-3-6 22:31

统计VBA学习小组正式组第八课(第十讲)的积分帖之作业上交贴(第11周)

本帖最后由 冠军欧洲2010 于 2012-4-21 13:48 编辑

说明:
统计帖每个学员只能跟帖回复一次,也就是在原来回复楼层的基础上点编缉,不要一个链接一层楼,否则不计算积分。
各小组学员上交作业时,一定要点击“我要参加”,并注明自己的新组编号和论坛ID,如果点击过“我要参加”但没有跟帖提交作业的,扣该学员5积分;如果跟帖提交了作业,但没有点“我要参加”的,不给予评分。

请各学员看清上面的说明,免得被扣了分分!
本帖为仅楼主可见帖,直接回复即可!
第九课(第10讲)作业链接:
http://www.excelpx.com/thread-225973-1-1.html


byhdch 发表于 2012-3-6 23:08

本帖最后由 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





decheng 发表于 2012-3-7 00:33

老师 您好您看一下 我的作业是否正确

yu20078 发表于 2012-3-7 00:46

第一题
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

happym8888 发表于 2012-3-7 01:03


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






szczm121 发表于 2012-3-7 08:33

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

hrpotter 发表于 2012-3-7 09:00

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

ybchxj2010 发表于 2012-3-7 09:24

作业中有二个地方没按老师的思路走:
一、各工作表的密码都相同(我记忆力不好)
二、在给工作表加密的过程中,事先没有判断工作表是否已经加密。直接用错误语句跳过。
另外:本人一直不机会听老师讲课(给其他同学让道),老师是否可以在群里共享课件??

yijundanny 发表于 2012-3-7 10:22

**** Hidden Message *****

雨后的风 发表于 2012-3-7 11:40


Sub 批量添加保护()
Sheets("Sheet5").Protect 5
Sheets("Sheet4").Protect 2
Sheets("Sheet2").Protect 2
Sheets("Sheet3").Protect 89
End Sub
页: [1] 2 3 4 5 6 7 8
查看完整版本: 统计VBA学习小组正式组第八课(第十讲)的积分帖之作业上交贴(第11周)