|
▼みるく さん:
全体としては検証してませんけど、
> On Error Resume Next
> Columns("H:J").Select
> Selection.EntireColumn.Hidden = True
>
> ActiveSheet.Protect Password:="111", DrawingObjects:=True, contents:=True, UserInterfaceOnly:=True
>シートが゛複数ある場合、
>アクティブになっていないシートは、
>H:J列が開いたまま終了されてしまいます。
原因
そのように書いているからです。
※明示的にシートの指定をしていないから。
対策1
> Columns("H:J").Select
の親オブジェクト(シート)を明示的にしてやる
対策2
その必要もないのにActiveSheet等のように曖昧なシート指定をしているので
それを、明示的に指定してやる
シート名を取得するサンプル:
Sub t()
Dim sName() As String
Dim i As Long
ReDim sName(Worksheets.Count - 1)
For i = 0 To UBound(sName)
sName(i) = Worksheets(i + 1).Name
Next i
End Sub
> On Error Resume Next
は必要ですか?万が一の予期せぬのエラーは無視していいんですか?
理解して使ってますか?
|
|