0

ワークシートに 2 つのマクロがあります。最初のマクロは、特定のセルがアドレス指定され、特定の値を持っているかどうかをチェックしてから、別のマクロを実行します。これには、次のコードが使用されます。

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("K10:K1000")) Is Nothing And Target.Value = "Trapezoidal       roof 0.6mm and above" Or Target.Value = "LightBox ballasted" Then

Application.ScreenUpdating = False

Call PPAPricePerkWp

End If

End Sub

これはそれ自体でうまく機能します。

ボタンがクリックされると、2 番目のマクロが実行されます。このマクロは、セル/行をコピーしてスプレッドシートの他の部分に貼り付けます。

マクロを実行するとエラーが発生Runtime error 7 - out of memoryし、上記のコードで中断します。

特定の列のセルがアドレス指定され、特定の値を持ち、上記のエラーにつながらないかどうかを確認する別の方法はありますか?

4

1 に答える 1

5

セルを変更するたびに Worksheet_Change がトリガーされないように、サブルーチンを呼び出す前にイベントを無効にすることができます。

Application.EnableEvents = False

終了したら、オンに戻すことを忘れないでください

于 2013-01-17T17:33:19.260 に答える