Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : Excel 2016)
Selection.Columns.Count はAreas(1)のセル範囲だけ?
投稿日時: 23/04/02 07:17:17
投稿者: taichi

複数のセル範囲、例えばRange("A1:C3,D5:D6")を選択後、
MsgBox Selection.Columns.Count
結果はAreas(1)のセル範囲のColumns.Countしか計算してくれません。
これは仕様ですか?
 
マウスでのセル選択範囲が単一の列内にある場合のみCommandButtonの操作を
有効にすることが目的です。
 
もしは仕様であれば、
If Selection.Areas.Count=1 And Selection.Columns.Count=1 then
以外の書き方はあるでしようか?

回答
投稿日時: 23/04/02 07:54:18
投稿者: simple

仕様かどうかはMS社の判断なので当方には不明ですが、そうなることは事実ですね。
 
ところで、
Range("A1:A3,A5:A6")が選択されている場合は、
>セル選択範囲が単一の列内にある場合
に該当するんですか?

投稿日時: 23/04/02 10:19:53
投稿者: taichi

>ところで、
>Range("A1:A3,A5:A6")が選択されている場合は、
>>セル選択範囲が単一の列内にある場合
>に該当するんですか?
 
いいえ、CommandButtonの操作を無効にする場合です。

回答
投稿日時: 23/04/02 11:35:07
投稿者: simple

回答拝見しました。
そういうことであれば、提示されたコードでよろしいと思いますね。
なにか不都合がありますか?

投稿日時: 23/04/02 12:48:50
投稿者: taichi

simple さん いつもありがとうございます。
 
MsgBox Selection.Columns.Count
結果はAreas(1)のセル範囲のColumns.Countしか計算
 
何となく、しっくりしませんが一応目的を達成できていますので、
これで閉めさせていただきます。