私はExcelの初心者であり、リサーチの少しの経験から、別のセルに入力された値に基づいてセル内に値を生成するコードが見つかりました。コードは以下の通りです。しかし、ワークシートを少し変更するたびに、作業が停止し、シャットダウン後もリセットされずに再び開きます。毎回VBAスクリプトがクラッシュする
ご協力ありがとうございました。ありがとう!
Private Sub Worksheet_Change(ByVal Target As Range)
Dim EF As Range, t As Range, v As Variant
Dim r As Long
Set t = Target
Set EF = Range("E:F")
If Intersect(t, EF) Is Nothing Then Exit Sub
Application.EnableEvents = False
r = t.Row
v = t.Value
If v = "" Then
Range("E" & r & ":F" & r).Value = ""
End If
If IsNumeric(v) Then
If Intersect(t, Range("F:F")) Is Nothing Then
t.Offset(0, 1).Value = v * 25.4
Else
t.Offset(0, -1).Value = v/25.4
End If
End If
Application.EnableEvents = True
End Sub
提案、コードの最初の行にブレークポイントを置き、セルを変更します。問題が見つかるまで、デバッガでコードをステップ実行します。おそらく再帰的イベントトリガーのために:これを防ぐためのテクニクスがあります。 :http://www.tek-tips.com/viewthread.cfm?qid=1210787 – Joe