
シートからいくつかのセルがアクティブ状態になっています。
そこから、セルを一つずつ指定してアクティブになっているかどうかを判断したいのです
がそのような事は可能でしょうか?
ご存知でしたら、ご教授ください。
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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 選択したセルが空白であっ...
-
エクセルVBA 図形の選択法は?
-
セル入力文字が、「右のセルに...
-
エクセル、ページをまたがった...
-
Word2016でExcelデータを差込し...
-
パワポの複数ページにまたがる...
-
エクセルで知らない間に行がず...
-
ワードの文章囲み枠(?)を消...
-
エクセルの一つのセル内に2つの...
-
Excelのセル内の文字の頭に半角...
-
パワーポイントの表
-
あるセルに色を付けた時、別の...
-
ワードの表の罫線が見えるけど...
-
エクセルでセルの中の文字が削...
-
【Excel VBA】CSV取込時、数字...
-
ワードの表の行が広がってしまう
-
Wordで、表のセルが変なところ...
-
Excelの表をWordにリンク...
-
(Word)点線枠の消し方を教えて...
-
[Excel] 以下のような、行が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA 図形の選択法は?
-
VBA 選択したセルが空白であっ...
-
(VBA)指定したセルがアクティブ...
-
PageBreak プロパティを設定で...
-
TextBoxにExcelの背景色を取得
-
顧客ごとに違う点検案内を作成...
-
マクロについて教えてください
-
日別の時間割を週別に分割して...
-
セル入力文字が、「右のセルに...
-
エクセル、ページをまたがった...
-
パワポの複数ページにまたがる...
-
Word2016でExcelデータを差込し...
-
パワーポイントの表
-
ワードの文章囲み枠(?)を消...
-
エクセルで知らない間に行がず...
-
【Excel VBA】CSV取込時、数字...
-
あるセルに色を付けた時、別の...
-
Excelのセル内の文字の頭に半角...
-
エクセルでセルの中の文字が削...
-
ワードの表の行が広がってしまう
おすすめ情報