質問: コンパイルエラー target.range シート上のセルに値を入力したら、 入力した値をイミディエイトに表示させたいのですが private sub workbook_sheetchange(byval sh as object, byval target as range) debug.print target.range end sub こうすると、 コンパイルエラー 引数は省略できません。 になります。 .range の部分がエラーになります。 原因と対策を教えてください。
回答: debug.print target.range("a1").value としてみます。 セルに対するrangeは、指定のセルの中でどのセルを取得するのかしっかり指示する必要があります。 実際には debug.print target(1).value とかのようにすることでも構いません #参考 targetには、イベントをトリガした「変更されたセル」が入ります。 複数のセルを選んで値を一斉に記入/削除したような場合でも、そのセル範囲がまとめてtargetに格納されます。 そういう状況でも「何をしたい」のかまで考えて、マクロを作成しなければいけません。