Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


141 / 13645 ツリー ←次へ | 前へ→

【81812】選択したシェイプがグループに属しているかどうか おもち 21/6/1(火) 22:11 質問[未読]
【81813】Re:選択したシェイプがグループに属してい... 通りすがり 21/6/2(水) 16:29 発言[未読]
【81814】Re:選択したシェイプがグループに属してい... おもち 21/6/2(水) 16:53 発言[未読]
【81815】Re:選択したシェイプがグループに属してい... 通りすがり 21/6/2(水) 17:04 発言[未読]
【81816】Re:選択したシェイプがグループに属してい... 通りすがり 21/6/2(水) 17:25 発言[未読]
【81817】Re:選択したシェイプがグループに属してい... 通りすがり 21/6/2(水) 17:35 発言[未読]
【81818】Re:選択したシェイプがグループに属してい... おもち 21/6/2(水) 17:55 お礼[未読]
【81819】Re:選択したシェイプがグループに属してい... おもち 21/6/3(木) 13:18 お礼[未読]

【81812】選択したシェイプがグループに属している...
質問  おもち  - 21/6/1(火) 22:11 -

引用なし
パスワード
   初めまして。

特定のシェイプを選択して、そのシェイプがグループに属しているかどうかで処理を分岐させたいです。

グループに属していれば、.parentgroupというプロパティに情報が保存されるのはわかったのですが、この情報の有無を判断するにはどのように記述したら良いか教えていただけないでしょうか。
宜しくお願いします、

【81813】Re:選択したシェイプがグループに属して...
発言  通りすがり  - 21/6/2(水) 16:29 -

引用なし
パスワード
   参考HPです。

ht tps://www.relief.jp/docs/excel-vba-determine-selected-shape-within-a-group.html

【81814】Re:選択したシェイプがグループに属して...
発言  おもち  - 21/6/2(水) 16:53 -

引用なし
パスワード
   ▼通りすがり さん:
>参考HPです。
>
>ht tps://www.relief.jp/docs/excel-vba-determine-selected-shape-within-a-group.html

返信ありがとうございます。
ですが、やりたいことが異なります。

参考HPでは、.typeを使用して今選択しているシェイプがグループかどうかを判定しているのですが、やりたいことは選択するのは必ず個別のシェイプで、そのシェイプがグループに属しているかです。
他にご意見ありましたら宜しくお願いします。

【81815】Re:選択したシェイプがグループに属して...
発言  通りすがり  - 21/6/2(水) 17:04 -

引用なし
パスワード
   少し改造するだけでできましたが?
試したうえで回答しています。
少しはご自分で試行錯誤しましたか?

【81816】Re:選択したシェイプがグループに属して...
発言  通りすがり  - 21/6/2(水) 17:25 -

引用なし
パスワード
   私の回答は勘違いかもしれません。
保留でお願いします。

【81817】Re:選択したシェイプがグループに属して...
発言  通りすがり  - 21/6/2(水) 17:35 -

引用なし
パスワード
   エラー処理を使った方法です。

Sub test()
Dim spname As String
Dim gpname As String
 spname = "正方形/長方形 3"
 Err.Clear
 On Error Resume Next
 gpname = ActiveSheet.Shapes(spname).ParentGroup.Name
 If Err.Number = 0 Then
   MsgBox spname & "はグループ化されています。"
 Else
  MsgBox spname & "はグループ化されていません。"
 End If
 On Error GoTo 0
End Sub

【81818】Re:選択したシェイプがグループに属して...
お礼  おもち  - 21/6/2(水) 17:55 -

引用なし
パスワード
   ▼通りすがり さん:
>エラー処理を使った方法です。
>
>Sub test()
> Dim spname As String
> Dim gpname As String
> spname = "正方形/長方形 3"
> Err.Clear
> On Error Resume Next
> gpname = ActiveSheet.Shapes(spname).ParentGroup.Name
> If Err.Number = 0 Then
>   MsgBox spname & "はグループ化されています。"
> Else
>  MsgBox spname & "はグループ化されていません。"
> End If
> On Error GoTo 0
>End Sub

お時間割いていただきありがとうございます。
エラー処理は思いつきませんでした。
明日、早速試させていただきます。
取り急ぎ、お礼とさせていただきます。

【81819】Re:選択したシェイプがグループに属して...
お礼  おもち  - 21/6/3(木) 13:18 -

引用なし
パスワード
   ▼通りすがり さん:
質問内容等で分かりにくい部分があり失礼しました。

ご教示いただいた内容を使用して無事に解決しました。
誠にありがとうございました。

141 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free