![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Win2000エクセル2000です。
下記のMacro11はTEST11のようにWith~End Withでくくれると思うのですがエラーになります。
どこがおかしいのでしょうか?
Sub Macro11()
ActiveSheet.Shapes.AddShape(msoShapeSun, 450, 150, 120, 120).Select
Selection.ShapeRange.Line.Weight = 0.75
Selection.ShapeRange.Line.ForeColor.SchemeColor = 64
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 10
Selection.ShapeRange.Fill.OneColorGradient msoGradientFromCorner, 1, 0.59
Selection.ShapeRange.Adjustments.Item(1) = 0.3016
Selection.ShapeRange.ThreeD.SetThreeDFormat msoThreeD7
Selection.ShapeRange.ThreeD.PresetMaterial = msoMaterialMetal
Selection.ShapeRange.ThreeD.Depth = 144#
End Sub
Sub TEST11()
With ActiveSheet.Shapes.AddShape(msoShapeSun, 450, 150, 120, 120)
.ShapeRange.Line.Weight = 0.75
.ShapeRange.Line.ForeColor.SchemeColor = 64
.ShapeRange.Fill.ForeColor.SchemeColor = 10
.ShapeRange.Fill.OneColorGradient msoGradientFromCorner, 1, 0.59
.ShapeRange.Adjustments.Item(1) = 0.3016
.ShapeRange.ThreeD.SetThreeDFormat msoThreeD7
.ShapeRange.ThreeD.PresetMaterial = msoMaterialMetal
.ShapeRange.ThreeD.Depth = 144#
End With
End Sub
No.3ベストアンサー
- 回答日時:
こんにちは。
maruru01です。>出来ればSelectしないでShapeRangeの属性を一括変更したいのですが・・・。
Selectしないならこうです。
Sub TEST12()
With ActiveSheet.Shapes.AddShape(msoShapeSun, 450, 150, 120, 120)
.Line.Weight = 0.75
.Line.ForeColor.SchemeColor = 64
.Fill.ForeColor.SchemeColor = 10
.Fill.OneColorGradient msoGradientFromCorner, 1, 0.59
.Adjustments.Item(1) = 0.3016
.ThreeD.SetThreeDFormat msoThreeD7
.ThreeD.PresetMaterial = msoMaterialMetal
.ThreeD.Depth = 144#
End With
End Sub
ありがとうございます!
思ったように出来ました。
わたしが最初に書いたものでは「ShapeRange」が余分だったのですね。
どうしてかわかりませんが助かりました。
ありがとうございました。
No.2
- 回答日時:
くくれません。
くくるんだったらこうです。
Sub TEST11()
ActiveSheet.Shapes.AddShape(msoShapeSun, 450, 150, 120, 120).Select
With Selection.ShapeRange
.Line.Weight = 0.75
.Line.ForeColor.SchemeColor = 64
.Fill.ForeColor.SchemeColor = 10
.Fill.OneColorGradient msoGradientFromCorner, 1, 0.59
.Adjustments.Item(1) = 0.3016
.ThreeD.SetThreeDFormat msoThreeD7
.ThreeD.PresetMaterial = msoMaterialMetal
.ThreeD.Depth = 144#
End With
End Sub
ありがとうございました。
くくれました。
でも、どうしてもSelectしなければいけませんか?
出来ればSelectしないでShapeRangeの属性を一括変更したいのですが・・・。
よろしくお願いします。
No.1
- 回答日時:
Withは、
With object
[statements]
End With
と、objectを指定してくださいという事になっています。
> With ActiveSheet.Shapes.AddShape(msoShapeSun, 450, 150, 120, 120)
AddShapeはオートシェイプを追加するメソッドです。
--
Sub Macro11()
' オートシェイプを追加して選択
ActiveSheet.Shapes.AddShape(msoShapeSun, 450, 150, 120, 120).Select
' 選択されたSelectionのShapeRangeの属性を一括変更
With Selection.ShapeRange
.Line.Weight = 0.75
・
・
.ThreeD.Depth = 144#
End With
End Sub
では?確認していませんが…
ありがとうございました。
くくれました。
でも、どうしてもSelectしなければいけませんか?
出来ればSelectしないでShapeRangeの属性を一括変更したいのですが・・・。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数セルに〇印をつけるマクロ 4 2022/09/07 05:33
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- Excel(エクセル) 列の最終行に新たに入力されたらその値を自動参照 1 2023/01/21 09:59
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) リストボックス セルの値を取得する 1 2022/05/21 20:47
- TOEFL・TOEIC・英語検定 With its architecture and gardens and a wealth of 0 2022/12/17 16:11
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- 英語 □What ~ for ? なんのために~? □How come +S+V~?なぜ~? □What 5 2022/03/24 14:14
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
おすすめ情報