![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
シートからいくつかのセルがアクティブ状態になっています。
そこから、セルを一つずつ指定してアクティブになっているかどうかを判断したいのです
がそのような事は可能でしょうか?
ご存知でしたら、ご教授ください。
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】甲子園での思い出の残し方
「球場の砂を持って帰る」はもう古いと思った高校球児が、甲子園で負けた際に、思い出に残そうと思って行ったこと
-
特定のセルがアクティブになったときのイベント?
Excel(エクセル)
-
VBAでオブジェクト変数にsetしたシートがactiveかどうかを調べるには?
Visual Basic(VBA)
-
Excelブックがアクティブになっているかどうか
Visual Basic(VBA)
-
-
4
excelで セルの移動時にマクロ実行を設定したい。
Excel(エクセル)
-
5
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
6
ExcelVBAにて既に開かれているPowerpointをアクティブにするには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PageBreak プロパティを設定で...
-
エクセルVBA 図形の選択法は?
-
VBA 選択したセルが空白であっ...
-
VBAでセルの選択範囲を指定する...
-
セル入力文字が、「右のセルに...
-
パワポの複数ページにまたがる...
-
エクセル、ページをまたがった...
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
ワードの文章囲み枠(?)を消...
-
エクセルで知らない間に行がず...
-
Wordで、表のセルが変なところ...
-
表と票の違いは?
-
エクセルでセルの中の文字が削...
-
ワード、上下中央揃えにしたい...
-
PDFファイルの罫線を消す方法
-
Excelのセル内の文字の頭に半角...
-
ワードの表がヘッダーに入って...
-
用紙の真ん中に縦線を入れる方法
-
WORDで表の行を2行に分けたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 図形の選択法は?
-
PageBreak プロパティを設定で...
-
(VBA)指定したセルがアクティブ...
-
TextBoxにExcelの背景色を取得
-
VBAでセルの選択範囲を指定する...
-
VBA 選択したセルが空白であっ...
-
顧客ごとに違う点検案内を作成...
-
日別の時間割を週別に分割して...
-
Excelの最終列までの転記について
-
【Excel VBA】Caseマクロを簡潔...
-
セル入力文字が、「右のセルに...
-
パワポの複数ページにまたがる...
-
エクセル、ページをまたがった...
-
Word2016でExcelデータを差込し...
-
ワードの文章囲み枠(?)を消...
-
【Excel VBA】CSV取込時、数字...
-
エクセルで知らない間に行がず...
-
ワードの表の行が広がってしまう
-
Wordで、表のセルが変なところ...
-
用紙の真ん中に縦線を入れる方法
おすすめ情報