windimi007
发表于 2012-3-7 11:45
D组学委:windimi007前来交作业!{:2912:}
sliang28
发表于 2012-3-7 11:53
C09:sliang28
第一题答案:
Sub 批量添加密码()
Dim i As Integer
Dim j As Integer
For i = 2 To 5
For j = 2 To 5
If Sheets(i).Name = Sheet1.Cells(j, 1) Then
Sheets(i).Protect Password:=Sheet1.Cells(j, 2)
End If
Next j
Next i
End Sub
第二题答案:
Sub 隐藏除主界面工作表()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name <> "主界面" Then'主界面前后插入工作表都能隐藏
Sh.Visible = 0
End If
Next
End Sub
第三题答案:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ThisWorkbook.ActiveSheet.Name <> "主界面" Then ThisWorkbook.Sheets("主界面").Activate
End Sub
从从容容
发表于 2012-3-7 12:42
D03 从从容容
第一题:
Sub 密码()
Dim x, I As Integer
For I = 1 To Sheets.Count
For x = 2 To Sheet1.Range("a65536").End(3).Row
If Sheets(I).Name = Sheet1.Cells(x, 1) Then
Sheets(I).Protect Password:=Sheet1.Cells(x, 2).Value
Exit For
End If
Next x
Next I
End Sub
第二题
Sub 隐藏工作表()
Dim I As Integer
For I = 1 To Sheets.Count
If Sheets(I).Name <> "主界面" Then
Sheets(I).Visible = 2
End If
Next I
End Sub
第三题
Private Sub Workbook_SheetActivate(ByVal sh As Object)
If sh.Name <> "主界面" Then
Sheets("主界面").Activate
End If
End Sub
sliang28
发表于 2012-3-7 13:23
12楼修改答案,批量添加密码上面用了两个FOR,感觉没有Do While好,这样更严谨一些, 所以修改下答案。
Sub 批量添加密码1()
Dim i As Integer
Dim ShName As String
Dim ShPw As String
i = 2
On Error Resume Next
Do While Cells(i, 1) <> ""
ShName = Cells(i, 1)
ShPw = Cells(i, 2)
Sheets(ShName).Protect Password:=ShPw
i = i + 1
Loop
End Sub
君子豹变
发表于 2012-3-7 13:32
第一题作业答案:
Sub 批量添加保护()
Sheets("sheet2").Protect Password:=2
Sheets("sheet3").Protect Password:=89
Sheets("sheet4").Protect Password:=2
Sheets("sheet5").Protect Password:=5
End Sub
第二题答案:
Sub 隐藏工作表()
Dim i As Integer
i = Sheets.Count - 1
For i = 1 To i
Sheets(i).Visible = 0
Next i
End Sub
第三题答案:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheets("主界面").Select
End Sub
zjcat35
发表于 2012-3-7 14:39
E02:zjcat35Sub 加密()
Dim i As Byte
For i = 2 To .End(3).Row
Worksheets(Cells(i, 1).Value).Protect Cells(i, 2)
Next i
End SubSub 隐藏工作表()
Dim Sh As Worksheet
For Each Sh In Worksheets
If Sh.Name <> "主界面" Then
Sh.Visible = 2
End If
Next Sh
End SubPrivate Sub Workbook_SheetActivate(ByVal Sh As Object)
Sheets("主界面").Select
End Sub
hshmichael
发表于 2012-3-7 15:38
第一题代码:Sub 批量密码保护()
Dim x%
For x = 2 To Sheets("密码表").Range("a1").CurrentRegion.Rows.Count
ThisWorkbook.Sheets(Sheets("密码表").Range("a" & x).Value).Protect Password:=Range("b" & x)
Next x
End Sub第二题代码:Sub 隐藏工作表()
Dim x%
x = 1
Do
If ThisWorkbook.Sheets(x).Name <> "主界面" Then
ThisWorkbook.Sheets(x).Visible = False
End If
x = x + 1
Loop Until x > ThisWorkbook.Sheets.Count
End Sub第三题答案:
为每一个工作表添加:Private Sub Worksheet_Activate()
Sheets("主界面").Activate
End Sub并在工作簿加入代码:Private Sub Workbook_Open()
Sheets("主界面").Activate
End Sub
bynbyn
发表于 2012-3-7 16:54
E13学员bynbyn作业
vbamaster
发表于 2012-3-7 21:28
D05:vbamaster
jxncfxsf
发表于 2012-3-7 22:29
21组 jxncfxsf 总算搞定