このコードを実行しようとすると、Exit Sub
の後にのみパーツが実行され、シートが保護されていないとforeachループのみが実行されます。私はそれがExit Sub
によって引き起こされたと思います。私の問題は、シートが保護されているときに別のコード(for each cell in Range("B6:B112..
)を実行し、シートが保護されていないときにもう1つ(Dim rng as Range
で始まる)を実行したいということです。私はIf..Then..Else
を試しましたが、それは動作しません。保護されていないシートと保護されたシートにコードを実装するVBA Excel
Private Sub Worksheet_Change(ByVal Target As Range)
If Worksheets("test").ProtectContents Then Exit Sub
For Each cell In Range("B6:B112")
If cell.Value <> "" Then
cell.EntireRow.Hidden = False
Else
cell.EntireRow.Hidden = True
End If
Next cell
Dim rng As Range
Dim eingabeNr As Double, letzteZeile As Long, eingabeDatum As String, eingabeNrString As String
Set rng = Range("D:BC")
THX。
「If..Then..Else」が機能しないのはなぜですか? – YowE3K
私は本当に 'If..then..else'をどこに置いたのか分かりませんが、動作しません。@ YowE3K – flowers1234