No.4ベストアンサー
- 回答日時:
april21さんのadressを検索するのはいいアイデアですね。
#2でチェックはFor Each ・・・でと書きましたが必須範囲を含む範囲を選択した場合、うまくいかないと思い、別の方法を考えました。
下は必須範囲を含む範囲を選択した場合は「選択した」ことにしています。
intersectで選択部分と必須部分との共通部分を調べています。選択部分が完全に必須部分を含む場合は「選択」としています。
Public Sub AreaCheck2()
Dim rgHissuArea As Range '必須エリア
Dim rgSentakuArea As Range '選択エリア
Dim rgKyotuu As Range '共通部分
Set rgHissuArea = Range("A1:B2") '***必須データエリアをセット***
Set rgSentakuArea = ActiveWindow.RangeSelection
'intersectメソッドで共通部分を調べる
Set rgKyotuu = Application.Intersect(rgSentakuArea, rgHissuArea)
If rgKyotuu Is Nothing Then
'共通部分がない場合
MsgBox "必須エリア:" & rgHissuArea.Address & "は未選択です。"
rgSentakuArea.Select
Exit Sub
Else
'共通部分がある場合
If rgKyotuu.Address = rgHissuArea.Address Then
'必須エリアが完全に含まれている
MsgBox "必須エリア:" & rgHissuArea.Address & "は選択されています。"
rgSentakuArea.Select
Exit Sub
Else
'必須エリアが完全に含まれていない
MsgBox "必須エリア:" & rgHissuArea.Address & "は未選択です。"
rgSentakuArea.Select
End If
End If
End Sub
No.3
- 回答日時:
みなさんが回答されてるのでもういいかなって思ったのですが
選択のチェックも入れてたので・・・。
Aが何を示すものか良くわからなかったので$A$1にしてます。
適当に変更してください。
↓のマクロはA1が選択されてない場合A1を追加します。
-----------------------------------------------------------------
Sub sentaku()
Dim sentaku As String
sentaku = Selection.Address
If InStr(1, sentaku, "$A$1", 1) = 0 Then sentaku = sentaku + ",$A$1"
Range(sentaku).Select
End Sub
------------------------------------------------------------------
No.2
- 回答日時:
moon_pocoさんの式で範囲Aの選択を必須とした複数範囲が選択できると思います。
また、Unionメソッドは和集合を返すと思いますので、範囲Aの選択をチェックしなくても望む答えは得られると思います。
チェックが必要であれば・・・For Each で調べればいいと思います。
下記で動作を確認できると思います
Public Sub Sentaku()
Dim rgHissuArea As Range '必須エリア
Dim rgSentakuArea As Range '選択エリア
Dim rgMultiArea As Range '結合エリア
Set rgHissuArea = Range("A1:B2") '必須データエリアをセット
Set rgSentakuArea = ActiveWindow.RangeSelection
'rgMultiAreaは和集合になる
Set rgMultiArea = Union(rgHissuArea, rgSentakuArea)
rgMultiArea.Select
End Sub
No.1
- 回答日時:
これではどうでしょうか
Union(Selection, Columns("A")).Select
RowのAを選択しているか,どうかをチェックするのは
すいません,わかりませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Excel(エクセル) マクロを教えてください 3 2023/07/31 21:57
- Excel(エクセル) マクロを教えてください 2 2023/07/30 23:05
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Visual Basic(VBA) VBAマクロ 決まっていない行を選択して別シートへ貼付け 4 2023/02/16 16:08
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Excel(エクセル) excelで可視セルのみ置換 3 2022/08/04 11:02
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 文字を増やしたい。
-
エクセルの計算
-
セルの内容表示が邪魔になる
-
Excel
-
Microsoft365に変えたのですが...
-
エクセル:一覧表に存在する文...
-
エクセルで日付を数字+アルフ...
-
エクセルでの作業計算方法について
-
エクセルで年休を管理する方法...
-
はがきについて。
-
【マクロ】その時、その時で変...
-
excelの不要な行の削除ができな...
-
Microsoft1Officeの互換ソフト...
-
エクセル関数を教えてください
-
Excel ピボットテーブルで日付...
-
【マクロ】読取専用のファイル...
-
【関数】適切な文字数の数字を...
-
時間によってファイル名が変わ...
-
ある列、或いは、ある行のセル...
-
UNIQUE関数が使えないバージョ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報