次のコードを使用してG11からG55の式を非表示にしています。しかし、それはすべての式を隠し、シートを保護します4。 G15:G55でセルを非表示にして保護するにはどうすればよいですか?ありがとうございました。Excelで選択した範囲の式を非表示
Sub Loc()
Dim c As Range
Worksheets("sheet4").Range("G15:G55").Select
For Each c In Selection
If c.HasFormula = True Then
c.Locked = True
c.FormulaHidden = True
End If
Next c
'Worksheets("sheet4").Range("G11:G55").Locked = True
Worksheets("sheet4"").Protect Password:="111"
End Sub
は、次のコードは、
Sub Locs()
Dim c As Range, rng1, rng2 As Range
Worksheets("Sheet4").Unprotect Password:="111"
Cells.Locked = False
Cells.FormulaHidden = False
Set rng1 = Range("G15:G55")
Set rng2 = Range("I15:I55")
For Each c In rng1
If c.HasFormula = True Then
c.Locked = True
c.FormulaHidden = True
End If
Next c
For Each c In rng2
If c.HasFormula = True Then
c.Locked = True
c.FormulaHidden = True
End If
Next c
Worksheets("Sheet4").Protect Password:="111"
End Sub
あなたはただ一つの**セット**とただ一つのループしか必要としません............ Set rng = Union(範囲( "G15 :G55 ")、範囲(" I11:I55 "))' –
@ Gary's Thanks ............................... – Kuma