ExcelVBA 選択したセルの取得
こんにちは。ゆきのです。
選択した範囲のセルに対して、Excelのマクロで
1回ずつ処理を行いたいと考えています。
まずセル数を取得したいのですが、
「selection.cells.count」でセル数を取得すると、
同じセルが複数回カウントされます。
またセルの範囲を取得したいのですが、
「selection.address」で範囲を取得すると、
重複したセルを含んだそれぞれの範囲が取得されます。
例えば、
(1)
「$A$1」を「ctl」+「左クリック」で3回選択した状態だと、
「selection.address」が「$A$1,$A$1,$A$1」となり、
「selection.cells.count」は「3」となります。
(2)
「ctl」+「左クリック」で「A1:B1」「A1:A2」を連続で選択した状態だと、
「selection.address」が「$A$1:$B$1,$A$1:$A$2」となり、
「selection.cells.count」は「4」となります。
($A$1が2回カウントされます)
この時、同じセルを複数回カウントせずにセル数を
取得することはにできるのでしょうか?
(上の例の場合ですと、(1)が「1」、(2)が「3」と取得したいです。)
また、複数選択で範囲を取得する場合に選択が重複したセルを
除いた状態の範囲を取得することはできるのでしょうか?
処理したセルを記憶させるなどの方法は考えてみたのですが、
別の方法はないかと思い、質問させていただきました。
どなたか、教えて頂けませんか??
よろしくお願いします。
お礼
実例までありがとうございました。 助かりました。