Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2013)
2つの図名を変数内にSETしたい
投稿日時: 23/02/20 08:01:52
投稿者: たかさん@富山

いつもお世話になります。
 
2つのセルを変数にSETして同時点滅することは
できました。
 Set myRng = Worksheets("Test").Range("G10,Z10")
 点滅処理
 
その後,セルの四角形ではなく図名の○を1つ点滅しようと
 Set myRng = Worksheets("Test").Shapes("丸1")
 点滅処理
 
これも可能でしたが,○を2つ同時に点滅しようと
 Set myRng = Worksheets("Test").Shapes("丸1,丸2")
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 この構文でエラーとなります。 
 
 2つの図名を変数内にSETするには,どうすれば
 良いでしょうか。
 よろしくお願いします。

回答
投稿日時: 23/02/20 09:36:52
投稿者: Suzu

Range
Shape
 
は、オブジェクトとして、別のモノです。
 
 
プロパティー や メソッドも違うモノもあります。
同じ手法で同じ様に出来るとは限りません。
 
 
Shapeではなく、ShapeRangeとしてであれば同時選択は可能でしょう。
 
ShapeRange オブジェクト (Excel)
https://learn.microsoft.com/ja-jp/office/vba/api/excel.shaperange
 
Select程度であれば
Worksheets("Test").Shapes.Range(Array("Shap1", "Shap2")).Select
の様なコードで可能です。
 
 
点滅処理の処理内用によっては適用可能かも知れません。

投稿日時: 23/02/20 10:07:49
投稿者: たかさん@富山

 Suzuさん,ありがとうございます。
 
  ActiveSheet.Shapes.Range(Array("丸1", "丸2")).Select
 として点滅処理が出来そうです。
 
 ありがとうございました。