|
おはようございます。
>Application.EnableEventsの位置を変え、Goto文を入れてみたのですが、
>「今度は型が一致しません」というエラーが出ます。
>出る位置はどういう法則か分かりませんが1.、2.の2か所です。
>Goto文でJump_Exit:まで移動しているはずなのですが・・・
このエラーは、選択範囲に問題があると思います。
Targetが1つのセルの時だけ動くようにするといいです。
>Private Sub Worksheet_Change(ByVal Target As Range)
>
>'[[ 部品内訳入力画面 Macro ]]
>
>''すべての行の見積単価を検索
>
>'''品名に合わせたリストを選択し表示させる
'-------------------------------------------<==●追加●
'選択範囲がセル以外の時のエラー回避
If Not TypeOf Target Is Range Then Exit Sub
'セルの選択範囲が1つ以上の時のエラー回避
If Target.Count > 1 Then Exit Sub
'---------------------------------'<==●ここまで追加●
> Application.EnableEvents = False
> If Not Intersect(Target, Range("C7:C26")) Is Nothing Then
> 'On Error Resume Next 'エラーを無視する
> 'イベントプロシージャーの実行を回避する
>
> If Target.Value = Enpty Then ←1.デバックで黄色表示
> Range(Target.Offset(, 1), Target.Offset(, 9)).ClearContents
> GoTo Jump_Exit
> Else
・・・・・・
> If Target.Offset(, -2).Value <> True Then ←2.デバック
これで、1,2のエラーは発生しないと思います。
On Error Resume Next はエラー内容が分かっていて、そのエラーをうまく利用するときに使うといいです。
どんなエラーが起こっているか分からないまま使うと、逆に予期せぬ弊害が発生して、訳が分からなくなります。
|
|