
No.4ベストアンサー
- 回答日時:
#03です。
先のマクロを少しスリムにしましたので再掲しますSub Macro1()
Const trg As String = "A1"
Dim res
Dim psw As Boolean
Dim idx As Integer
With ActiveSheet
For idx = 1 To .Shapes.Count
If .Shapes(idx).Type = msoLine Then
Set res = Intersect(.Range(trg), Range(.Shapes(idx).TopLeftCell, _
.Shapes(idx).BottomRightCell))
If Not res Is Nothing Then
psw = True
Exit For
End If
End If
Next idx
If psw Then
MsgBox "ラインが" & trg & "と重なっています"
Else
MsgBox "重なっていません"
End If
End With
End Sub
この回答への補足
ご回答ありがとうございます。
>>このラインにセルが引っかかっているかどうか
>どのライン? どのセルですか。
このライン = ライン(Shapeオブジェクト)
どのセル = 任意のセル
です。
要は両方とも任意です。
いただいたソースコードは非常に参考になります。
これを元にちょっと進めてみたいと思います。
ありがとうございました。
No.3
- 回答日時:
微妙に何をどうすればよいのかが分からない質問ですね。
>このラインにセルが引っかかっているかどうか
どのライン? どのセルですか。
セルとラインが特定できれば、以下のようにIntersect関数で範囲重複があるかないかを判定すればよいと思いますが、質問には一切書かれていないので想像で書かなければなりませんね。回答する側はurourojpさんのPC画面は見えませんので…
Intersect(.Range("A1"), Range(.Shapes(1).TopLeftCell, .Shapes(1).BottomRightCell))
以下のマクロは2行目で指定しているセルに、かかっているシェイプの「ライン」があるかないかを判定するサンプルです。質問には「ライン」と明記されていますので、「ライン」以外のシェイプは無視するようにしています。また色々余分に書き込みすぎていますが、基本は上に書いた通りです。部分的にでもご参考になれば…
Sub Macro1()
Const trg As String = "A1"
Dim res, act
Dim psw As Boolean
Dim idx As Integer
Set act = Selection
With ActiveSheet
Application.ScreenUpdating = False
For idx = 1 To .Shapes.Count
.Shapes(idx).Select
If TypeName(Selection) = "Line" Then
Set res = Intersect(.Range(trg), Range(.Shapes(idx).TopLeftCell, _
.Shapes(idx).BottomRightCell))
If Not res Is Nothing Then
psw = True
Exit For
End If
End If
Next idx
act.Select
Application.ScreenUpdating = True
If psw Then
MsgBox "ラインが" & trg & "と重なっています"
Else
MsgBox "重なっていません"
End If
End With
End Sub

No.2
- 回答日時:
それはつまり、Shapeがセルのラインをまたいでいるか=Shapeが2つ以上のセルに干渉しているかの判定ではないですか?
Shape.TopLeftCell プロパティ(オブジェクトの左上端にあるセルを取得)
Shape.BottomRightCell プロパティ(オブジェクトの右下端にあるセルを取得)
この2つのプロパティで取得した値(Rangeオブジェクト)を比較して、一致すればそのShapeは同一セル内に収まっているということです。
これではダメでしょうか??
Shape.TopLeftCellというプロパティーがあったんですね。
これを使って進めてみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) Excelで、あるセルだけ入力させたい、オートフィルターも使わせたい際のシートの保護 2 2023/02/23 15:14
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Excel(エクセル) 同じExcelのBOOK内で 1枚目のシートのA1のセルにデータを 入れると2枚目のシートのC1のセ 1 2022/10/25 09:40
- Excel(エクセル) エクセルについて教えてください。 1 2022/12/26 09:01
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel(VBA)
Excel(エクセル)
-
特定の名前のオートシェイプの有無を知りたい(エクセルVBA)
Excel(エクセル)
-
エクセルVBAでセル番地を指定してオブジェクト名取得
Excel(エクセル)
-
-
4
VBAのロジックでEXCEL上にShape図形があるかないかをチェック
Excel(エクセル)
-
5
ExcelVBAで、シートに画像が貼り付けてあるかを判断したいのですが
Excel(エクセル)
-
6
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
7
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
-
8
VBAによる図形位置判定
Visual Basic(VBA)
-
9
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
10
vba セルに入力した時間をマクロで受け取るには?
Excel(エクセル)
-
11
EXCEL VBAでオートシェイプの重なりを検知するには?
Excel(エクセル)
-
12
プロポーショナルフォントの文字列から印刷幅を求める関数
Excel(エクセル)
-
13
Excel VBAでセル内の画像を選択したい
Excel(エクセル)
-
14
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
15
【VBA】写真の縦横比を変えずに貼り付ける
Visual Basic(VBA)
-
16
Excel VBAで、実行時にsheet上のコマンドボタンのCaptionを変更する。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
車校 効果測定について 第一段...
-
彼氏にいつ電話をかけても通話...
-
既婚者同士で、毎日職場で会う...
-
メンタル的な理由で、ラインを...
-
普通の携番で電話中の時に、ラ...
-
約束をすっぽかされたり、返事...
-
夜9-10時にLINEを送って、既読...
-
メンタルの理由でLINEを返せな...
-
普段携帯を見ない男性って仕事...
-
家のWifiでこれって早いですか?...
-
飲み会でハメを外した人からの...
-
女友達からのLINEが毎日あって...
-
ライン通話
-
仕事の先輩から「休んでいいよ...
-
職場の同僚女性のことです ほぼ...
-
くびれのある女性が魅力的だと...
-
だいたい街で一人で歩いてると...
-
今年で20になる彼氏が便をライ...
-
電磁波の強さ
-
小学四年生の漢字の宿題で ぐん...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
車校 効果測定について 第一段...
-
普通の携番で電話中の時に、ラ...
-
既婚者同士で、毎日職場で会う...
-
夜9-10時にLINEを送って、既読...
-
彼氏にいつ電話をかけても通話...
-
女友達からのLINEが毎日あって...
-
仕事の先輩から「休んでいいよ...
-
職場の同僚女性のことです ほぼ...
-
メンタルの理由でLINEを返せな...
-
ライン通話
-
約束をすっぽかされたり、返事...
-
彼女と、LINEしていて先ほど3件...
-
飲み会でハメを外した人からの...
-
家のWifiでこれって早いですか?...
-
4ヶ月くらい毎日ラインしてた男...
-
小学四年生の漢字の宿題で ぐん...
-
メンタル的な理由で、ラインを...
-
しつこいLINEがだるくてブロッ...
-
電磁波の強さ
-
普段携帯を見ない男性って仕事...
おすすめ情報