|
>If IsEmpty(.Value) Then Exit Sub
もしイベント発生対象のセルが未入力、またはクリアによって未入力となった場合、
IsEmpty関数が True を返しますから、それを判定してマクロを中止しろ、という
コードです。IsEmpty関数をヘルプで調べてみて下さい。あと "〜 = True Then"
と比較する値は、True の場合は省略できることも覚えて下さい。
>=は入れずにエンターを押す
ということなら、以下のコードと変更して下さい。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim St As String
With Target
If .Column > 1 Then Exit Sub
If .Count > 1 Then Exit Sub
If IsEmpty(.Value) Then Exit Sub
If Left(.Formula, 1) <> "=" Then
St = "=" & .Value
Else
St = .Value
End If
Application.EnableEvents = False
With .Offset(, 1)
.Formula = St
If IsError(.Value) Then
MsgBox "その数式の結果はエラーです", 48
.Offset(, -1).Resize(, 2).ClearContents
Else
.Value = .Value
End If
End With
End With
Application.EnableEvents = True
End Sub
|
|