• ベストアンサー

Excel VBAにて、セルのコピー範囲を知る方法を教えて下さい。(選択範囲ではありません)

タイトルのとおりなのですが、セル範囲を選択した状態で Ctrl+C とすると、その範囲がクリップボードにコピーされると同時に破線で囲まれてチラチラした状態になりますが、このチラチラしている範囲をVBA内で知る方法を教えて下さい。Rangeオブジェクトとか、セル座標などを取得する方法です。 念のため補足しますが、このチラチラ状態で別の領域を選択すると、破線チラチラ領域を維持したまま、別の領域を選択できますが、つまり、破線チラチラ領域とセル選択領域の2つの領域を指定している状態になりますが、このときのチラチラ領域の方を知る方法です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

http://homepage2.nifty.com/kmado/kvba.htm 『E03M121 切り取り又はコピーされたセル範囲を取得する』 こちらご参考に。

saisho_wa_goo
質問者

お礼

希望どおりのご回答、まことに有難うございました。 質問の前にネット検索もしたのですが、見つけられませんでした。 しかし選択状態は維持していても、他のセルに移動すると選択範囲の取得は出来ないとのこと。不本意ではありますが、ユーザーオペレーション方法を見直すしかなさそうです。 ご回答まことに有難うございました。

その他の回答 (1)

  • end-u
  • ベストアンサー率79% (496/625)
回答No.2

>...出来ないとのこと。 という書き方をされているという事は、試されていないのですね。 ちょっと残念です。 他に参照される方が誤解されるといけないので、追記します。 リンク先に確かに 『セルを切り取り又はコピーした場合に選択範囲の枠線が点滅状態になります。 この状態で他のセルに移動すると点滅状態のセル範囲はもはや取得できません。』 と書いてあります。 だ か ら、 Win32APIを使ってクリップボードの情報から、取得を可能にしてあります。 実装するかしないかは別として、一度試してみられる事をおすすめします。

saisho_wa_goo
質問者

お礼

出来ました! 教えて頂いたHPのコードで、希望どおりのセル範囲情報の取得、出来ました。これで 『2つの任意の領域を指定してボタンクリック』 というオペレーションで 『各々に異なる処理をする』 ことが可能になりました。 まことに有難うございました。 また私の読解力不足、申し訳ありませんでした。 言い訳になるかも知れませんが、今読み返してみても『もはや取得できません』が何を指しているのか、やはり判りかねます。まぁそれよりも、ろくにソースを解読しないで見切りを付けたのが間違いだったのですけど。 まことに有難うございました。

関連するQ&A