• ベストアンサー

テキストボックスをコピーするVBA

エクセルでもワードでもいいのですが。 テキストボックスで"あ"と一文字表示させます。 この"あ"を90個使って円の形になるようにしたいのですが。 ようするに、テキストボックスで何か1文字表示させた状態で実行すると、 その文字をぐるりと90個並べて円周を描かせるVBAスクリプトを知りたいのですが。 宜しくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.1

エクセルで(VBA)「あ」がみんな、上を向いて居て良いのなら下記をやって見てください。「あ」が円形に並びます。半径rやStep値(下記では15度)Left値(下記では150),Top値(下記では100)は適当に変えてください。 Sub test1() pai = 3.14159 r = 100 Worksheets("sheet1").Activate Worksheets("sheet1").DrawingObjects.Delete For s = 0 To 360 Step 15 rd = s / 180 * pai ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 150 + r * Sin(rd), 100 + r - r * Cos(rd), _ 20, 20).Select Selection.Characters.Text = "あ" Selection.ShapeRange.Fill.Visible = msoFalse Selection.ShapeRange.Line.Visible = msoFalse Next s End Sub 上記でActivesheetから・・20).Selectまでは1行です。

yusari
質問者

お礼

ありがとうございました。 できました! 大変助かりました。 ただ、もし、A1に入力された任意の文字に対して上記のことができるようになるケースも教えて頂ければ、さらに助かるのですが。

その他の回答 (1)

  • pureh
  • ベストアンサー率69% (36/52)
回答No.2

>もし、A1に入力された任意の文字に対して上記のことができるようになる >ケースも教えて頂ければ、さらに助かるのですが。 #1の方のプログラムの  Selection.Characters.Text = "あ" を  Selection.Characters.Text = Range("A1").Value としてみてらどうでしょうか。

yusari
質問者

お礼

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

関連するQ&A