シートからいくつかのセルがアクティブ状態になっています。
そこから、セルを一つずつ指定してアクティブになっているかどうかを判断したいのです
がそのような事は可能でしょうか?
ご存知でしたら、ご教授ください。
For I = 1 To wsABC.Range("XXXXXX").Rows.Count
If wsABC.Range("XXXXX").Selected(I) = True Then
~~~~~~~~~~~~
↑
気持ち的にはこのような指定がしたい。
(実際はSelectedプロパティはない。。)
No.3ベストアンサー
- 回答日時:
選択したセルが、一定の範囲内にあるか知りたいって事かな?
例えば一定の範囲を A1:A10として、A1:B15 を選択してから実行すると A1~A10 をMsg表示する
Sub Test()
Dim r As Range, s As String
If TypeName(Selection) <> "Range" Then Exit Sub
For Each r In Selection
If Not Application.Intersect _
(r, ActiveSheet.Range("A1:A10")) Is Nothing Then
s = s & r.Address & vbCrLf
End If
Next r
MsgBox s
End Sub
もっと具体的に何をしたいかが解かれば、他の良案があるかも。
ありがとうございました。
SelectionとIntersectで実現できました。
初心者なもんでIntersectがあるなんて想像もつきませんでした^^;
ちなみに作成したのはこんな感じ
For I = 1 To wsABC.Range("XXXXXX").Rows.Count
If Not Application.Intersect(wsABC.Range("XXXX").Cells(I, 1), Selection) Is Nothing Then
多謝
No.4
- 回答日時:
例えば、いまG8に注目したとします。
範囲指定して、G8を含む範囲を指定して下記を実行しますと、「範囲に含まれる」、範囲に隣接していたり、飛び離れていれば、「範囲と別」を表示します。
Sub test01()
Set x = Selection
Set y = Range("E8")
Set z = Union(x, y)
w = z.Areas.Count
MsgBox w
If w = 1 Then
MsgBox "範囲に含まれる"
Else
MsgBox "範囲と別"
End If
End Sub
検討不十分ですが、参考までに上げます。
No.2
- 回答日時:
ご質問を整理してください。
選択範囲が複数あっても、アクティブセルは一つしかなく、ActiveCell.addressで求めることができますが、もしかしてselectedかどうか判別したい、ということですか?
この回答への補足
すいません。アクティブ状態と選択状態を
掛け違えておりました。
Selected(選択状態)かどうかを判別したいと考えています。
また、アクティブセルかどうかを判別する場合は、ご回答にあるように
ActiveCell.addressを使用すれば出来るとのことですが、
指定したセル(Range("ABC").Cell(X,X))がアクティブかどうか
調べる時は
if Range("ABC").Cell(X,X).Address=ActiveCell.address then
といような使い方が一般的でしょうか?
No.1
- 回答日時:
こんにちは。
maruru01です。アクティブ状態ではなくて、選択状態ですね。
アクティブなセルはアクティブなシートを1つしかありませんから。
さて、ある列を順に調べるのではなくて、選択範囲(Selection)で、その列に該当するかどうかを調べてはどうでしょうか?
以下は、選択範囲で列番号が「1」(つまりA列)の場合に処理をするというコードです。
Dim rg As Range
For Each rg In Selection
If rg.Column = 1 Then
'(処理)
End If
Next rg
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- Visual Basic(VBA) エクセル VBA メール本文に指定セルに記載されているURLをリンクとして記載する方法 8 2022/08/08 07:50
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) エクセルで、1つのセルで上書き足し算して セルの範囲を指定できますか? パソコン初心者です。 お時間 3 2023/07/05 06:13
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
特定のセルがアクティブになったときのイベント?
Excel(エクセル)
-
Excelブックがアクティブになっているかどうか
Visual Basic(VBA)
-
VBAでオブジェクト変数にsetしたシートがactiveかどうかを調べるには?
Visual Basic(VBA)
-
-
4
excelで セルの移動時にマクロ実行を設定したい。
Excel(エクセル)
-
5
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
6
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
7
オプションボタンの背景を透明にしたい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TextBoxにExcelの背景色を取得
-
PageBreak プロパティを設定で...
-
エクセルVBA 図形の選択法は?
-
セル入力文字が、「右のセルに...
-
googleスプレッドシートで「塗...
-
エクセル、ページをまたがった...
-
パワポの複数ページにまたがる...
-
ワードの文章囲み枠(?)を消...
-
PDFファイルの罫線を消す方法
-
エクセルで知らない間に行がず...
-
ワードで勝手に点線ラインがでる
-
Word2016でExcelデータを差込し...
-
ワードの表の行が広がってしまう
-
表と票の違いは?
-
エクセルでセルの中の文字が削...
-
【Excel VBA】CSV取込時、数字...
-
PowerPointの表の罫線を二重罫...
-
ワード、上下中央揃えにしたい...
-
用紙の真ん中に縦線を入れる方法
-
wordで罫線が引けない・・・
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 図形の選択法は?
-
PageBreak プロパティを設定で...
-
VBA 選択したセルが空白であっ...
-
日別の時間割を週別に分割して...
-
顧客ごとに違う点検案内を作成...
-
TextBoxにExcelの背景色を取得
-
【Excel VBA】Caseマクロを簡潔...
-
マクロについて教えてください
-
(VBA)指定したセルがアクティブ...
-
VBAでセルの選択範囲を指定する...
-
セル入力文字が、「右のセルに...
-
パワポの複数ページにまたがる...
-
エクセル、ページをまたがった...
-
ワードの文章囲み枠(?)を消...
-
Word2016でExcelデータを差込し...
-
PowerPointの表の罫線を二重罫...
-
パワーポイントの表
-
【Excel VBA】CSV取込時、数字...
-
ワードの表の罫線が見えるけど...
-
表と票の違いは?
おすすめ情報