none
VBAボタンの位置取得関数エラー RRS feed

  • 質問

  • エクセル2016以前のバージョンで、VBAを利用しています

    現在、マクロボタンを押したときにその位置を取得する関数を利用しています

    ActiveSheet.Shapes(Application.Caller).TopLeftCell.Address(RowAbsolute:=False, ColumnAbsolute:=False)

    この関数の問題だと思うのですが、2016でうまく働かないです

    関数を呼び出すマクロボタンをコピーしてシート上にたくさんある場合、他のボタンが押されたような挙動をします

    座標A1とA100、A200、、、と同じボタンをコピーして利用していて、例えばA500のボタンを押してその座標を取得するはずが

    A100の座標、もしくはそれ以外の座標が取得されることもあります

    エクセル2012以前では意図した通りに動いていました。

    2016で試したところ、今回の様な挙動を示すようになりました。

    2016で保存してそれを2012で開いてもおかしな挙動は治りません。

    ボタンを削除し、2012で作り直せば動きますが、2016で動かすとエラーが再発します。

    原因や回避方法などあれば教えて頂きたく、ご相談いたしました。

    よろしくお願い致します。

    2017年8月25日 6:12