Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5811 / 13645 ツリー ←次へ | 前へ→

【48734】列と行を選択した時はマクロを止める はこだ 07/5/4(金) 10:45 質問[未読]
【48735】Re:列と行を選択した時はマクロを止める かみちゃん 07/5/4(金) 10:59 回答[未読]
【48738】Re:列と行を選択した時はマクロを止める はこだ 07/5/4(金) 12:09 お礼[未読]

【48734】列と行を選択した時はマクロを止める
質問  はこだ  - 07/5/4(金) 10:45 -

引用なし
パスワード
   下のようなコードで、選択した範囲に「neko」と記入するようにしました。
ただし、行をまるごと選択した場合と列をまるごと選択した場合は「neko」と記入せずに、マクロを止める(例えばExit Sub)ようにしたいのですが、やり方が分かりません。
『行あるいは列を選択した場合』をどのように表現したらよいのでしょうか?
よろしくお願いします。

Sub Macro1()

  Selection = "neko"

End Sub

【48735】Re:列と行を選択した時はマクロを止める
回答  かみちゃん  - 07/5/4(金) 10:59 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>『行あるいは列を選択した場合』をどのように表現したらよいのでしょうか?

以下のような感じでいかがでしょうか?

選択範囲内の行数または列数とシートの行数または列数が一致しているかどうか
を判断基準にします。

Sub Macro2()
 With Selection
  If .Rows.Count = Rows.Count Or .Columns.Count = Columns.Count Then
   MsgBox "行また列全体が選択されています"
  Else
   Selection.Value = "neko"
  End If
 End With
End Sub

【48738】Re:列と行を選択した時はマクロを止める
お礼  はこだ  - 07/5/4(金) 12:09 -

引用なし
パスワード
   ▼かみちゃん さん:

ありがとうございます!
したかったことが完璧にできました。
選択範囲とシートの行列数が一致するか、ですかー、アイデアですねー!

5811 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free