これはあなたの試みですか?ユーザーはセルE4
とE6
を編集できますが、空にすることはできません。私はまた、細胞が手前で空ではないと仮定しています。私は何をしたいです
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Whoa
Application.EnableEvents = False
If Not Intersect(Target, Range("E4")) Is Nothing Then
If Len(Trim(Range("E4").Value)) = 0 Then Application.Undo
ElseIf Not Intersect(Target, Range("E6")) Is Nothing Then
If Len(Trim(Range("E6").Value)) = 0 Then Application.Undo
End If
LetsContinue:
Application.EnableEvents = True
Exit Sub
Whoa:
MsgBox Err.Description
Resume LetsContinue
End Sub
フォロー
感謝。他の範囲はどうですか?それはIFのそれのちょうど大した場合ですか、それとも、私たちはCASEとループスルーを使用できますか? - AdRock 2分前
下記のセルのアドレスを追加/削除してください。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Whoa
Application.EnableEvents = False
If Not Intersect(Target, Range("E4,E6,E8:E9,E11:E14,L10:L14,L16,L23:L27,L29,L30:L33")) Is Nothing Then
If Len(Trim(Target.Value)) = 0 Then Application.Undo
End If
LetsContinue:
Application.EnableEvents = True
Exit Sub
Whoa:
MsgBox Err.Description
Resume LetsContinue
End Sub
なぜワークシートを保護しないのですか?そのような方法でユーザーはセルを編集できますが、削除することはできません。 –
それを試して、私はまだE4の内容を削除することができました。私はそこに値を持っていますが、削除して空のセルをクリックしないようにしたいのですが、変更することができます – AdRock
セルの「削除」について説明していません... –