Excel VBA で自在に図形を変化させたい
Excel VBAを使って図形を自由に変化させたいと思っています。
一つの形の四角形や三角形をVBAを使ってシート上に表記することは出来ます。
私はユーザーインターフェースを作り、テキストボックスに値を入れることで図形を変化させることをしたいと思っています。
例えば、一つの三角形を正三角形にしたり、直角二等辺三角形にしたり、自在に角度を変えてVBAに描かせたいと思っています。
三角形は以下のようにコードを記述しましたらシートに表示できました。
Sub 三角形作成()
Set ArwLine = ActiveSheet.Shapes.AddLine(10, 10, 200, 200)
Set ArwLine = ActiveSheet.Shapes.AddLine(200, 200, 100, 400)
Set ArwLine = ActiveSheet.Shapes.AddLine(100, 400, 10, 10)
End Sub
これを以下のようにして変数(x、y)にユーザーインターファースから値を代入するようにしたいのですがどのようにすればよいのでしょうか教えてください。
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub
Sub 三角形作成()
Set ArwLine = ActiveSheet.Shapes.AddLine(10, 10, 200, 200)
Set ArwLine = ActiveSheet.Shapes.AddLine(200, 200, x, y)
Set ArwLine = ActiveSheet.Shapes.AddLine(x, y, 10, 10)
End Sub
前回、「Excel VBAで図面を書きたい」という質問をしたのですがややこしく書いたため解答される方が居ませんでしたので編集して再質問をさせていただきます。
よろしくお願いします。
お礼
回答ありがとうございます。 示していただいた4つの文のうち、2番目はエラーになりました。 その他は問題ありませんでした。 ただ、私が知りたいのは、3番目の文でも動くのに、なぜ1番目のように しなければいけないのかということです。 私が作ったプログラムはもう5年以上も前のもので、その間、何の問題も なく動いていました。それが突然「エラーが出た」という報告を受けたも のですから、OSやExcelのバージョンが変わるとプログラムも更新して いく必要があるかと思い、いろいろ調べてみました。その結果としての 質問でしたが、どうも私は見当違いの質問をしているのかと思うように なってきました。貴重な時間を割いて回答していただいたことに感謝 申し上げます。ありがとうございました。