• ベストアンサー

エクセルのVBAのことで

以下のVBAを実行するとテキストボックスの"あ"という文字で円を描くことができます。 Sub test1() pai = 3.14159 r = 100 Worksheets("sheet1").Activate For s = 0 To 360 Step 15 rd = s / 180 * pai ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _ 200 + r * Sin(rd), 50 + r - r * Cos(rd), 20, 20).Select Selection.Characters.Text = "あ" Selection.ShapeRange.Fill.Visible = msoFalse Selection.ShapeRange.Line.Visible = msoFalse Next s End Sub この円の半分の半径の円を元の円とドーナツ型(◎)になるように描くにはどのようなスクリプトにすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

> 試してみましたが、ドーナツ型にはなりませんでした。 > 円周の一部がくっ付いてしまいました。 中途半端な解答をつけて申し訳ない。ちょっとだけ真剣に考えました。 #1> ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _ #1> 200 + r2 * Sin(rd), 50 + r2 - r2 * Cos(rd), 20, 20).Select 200 + r2 * Sin(rd), 50 + r - r2 * Cos(rd), 20, 20).Select 二つ目の r2 が r ね。 # でも、試してません

yusari
質問者

お礼

ありがとうございました。 できました!!

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

こんな感じ? > Sub test1() > pai = 3.14159 > r = 100 > Worksheets("sheet1").Activate > For s = 0 To 360 Step 15 > rd = s / 180 * pai > ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _ > 200 + r * Sin(rd), 50 + r - r * Cos(rd), 20, 20).Select > Selection.Characters.Text = "あ" > Selection.ShapeRange.Fill.Visible = msoFalse > Selection.ShapeRange.Line.Visible = msoFalse r2 = r / 2 ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _ 200 + r2 * Sin(rd), 50 + r2 - r2 * Cos(rd), 20, 20).Select Selection.Characters.Text = "あ" Selection.ShapeRange.Fill.Visible = msoFalse Selection.ShapeRange.Line.Visible = msoFalse > Next s > End Sub # 試してません

yusari
質問者

お礼

ありがとうございました。 試してみましたが、ドーナツ型にはなりませんでした。 円周の一部がくっ付いてしまいました。

すると、全ての回答が全文表示されます。

関連するQ&A

レーベル印刷のトラブル解決法
このQ&Aのポイント
  • DCP-J926NでNewSoft CD Lebelerを使わずにレーベル印刷を試みる中での問題を相談。
  • Windows10環境で有線LAN接続のデキスパートを利用し、レーベル印刷の方法を模索している。
  • ブラザー製品に関するトラブルに関して情報を求める投稿。
回答を見る

専門家に質問してみよう