質問: 現在、VBAで以下の機能を実装しようとしています。 1.特定のセルに入力制限(リスト)を掛ける 2.リストから選択した値が特定の値の場合、アクティブセルの下に1行追加する 問題は【2】の追加時にエクセルが異常終了してしまう事です。 ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/dc2acd4f974c3e0b1dd6c212d8c4fd99.png) コードは以下の通りです。 ``` Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C1:C1000")) Is Nothing Then Select Case ActiveCell Case "変更": AddCell End Selects End If End Sub Private Function AddCell() Rows(ActiveCell.Row + 1).Insert End Function ``` この時、AddCellファンクションの+1を削除すれば正常にアクティブセルの上に行が追加されますが +1を付与し、下行を追加しようとするとエラーになります。 本原因の解決方法、代替方法等をご教示頂けないでしょうか。 宜しくお願い致します。
回答: デバッグしてますか? 下に追加の場合、ActiveCellが変わらないまま再度WorkSheet_Changeが動いてしまいます。 ※この時まだAddCellが終わっていないことにも注意して下さい