
【ごまかんぱちの挑戦】エクセルでAutoCADの自動作図(その2)
こんにちは。ごまかんぱちです。🐟
AutoCADの自動作図を目指して奮闘しています。
第2回も 温かく見守ってください。
それでは スタートです。
2-1. 実行ボタンをつくる
これまで、コードを書く画面の「▶」からプログラムを実行してきましたが、エクセルの画面からも ワンクリックで実行できるように 実行ボタンをつくります。
エクセルの画面で、「挿入」→「図形」で「正方形/長方形」などを選び、適当な図形を描く。(図形は何でもいいです。)

図形を右クリックして、「マクロの登録」をクリック。
先ほど書いたプログラム「macro」が表示されるので、それを選んで「OK」。

これで実行ボタンが完成です。
この図形をクリックすると、プログラムが実行されます。
テキストボックスを使って 何か文字を書くのもいいですね。
自分なりの カッコいいボタンをつくりましょう。😁

2-2. VBAの練習
(VBAに不安がある方用。自動作図に進みたい方は読み飛ばしてください。)
・セルに計算結果を表示する
セルA1 A2 A3に「1」「2」「3」、セルB1 B2 B3に「4」「5」「6」を入力する。

🚩「Range("C1") = Range("A1")」と書いて実行する。

すると、セルC1にセルA1の値が表示されます。

今 書いた「Range("C1") = Range("A1")」を削除して、
🚩「Cells(1, 3) = Cells(1, 1)」と書いて実行する。


先ほどと同じ結果です。先述した もう1つのセル位置の表し方でしたね。
🚩「Cells(1, 3) = Cells(1, 1) * Cells(1, 2)」と書いて実行する。

今度は セルC1に セルA1の値×セルB1 の値 が表示されました。
プログラムの世界では、掛け算の記号は「*」で表します。

続いて
🚩「Cells(2, 3) = Cells(2, 1) * Cells(2, 2)」
「Cells(3, 3) = Cells(3, 1) * Cells(3, 2)」と書いて実行する。

これで セルC2 C3にも計算値が表示されました。

・for文で書く
今度は for文を使って書きます。
🚩「
For i = 1 To 3
Cells(i, 3) = Cells(i, 1) * Cells(i, 2)
Next
」と書いて実行する。
先ほどと同じ結果になるので、実行前に セルC1~C3を削除しておきます。

はい。先ほどと同じ計算結果が表示されました。

2行目の文に i=1を代入して実行、i=2を代入して実行、i=3を代入して実行 という繰り返し処理です。
この for文を使うときに、数字を使うセル位置の表し方が有用なんですね。
・if文で書く
続いて if文です。
🚩「
If Cells(1, 3) > 10 Then
Cells(1, 4) = Cells(1, 3)
Else
Cells(1, 4) = "Error"
End If
」と書いて実行する。

すると、セルH1に「Error」と表示されます。

これは、セルC1の値が10より大きい時には セルD1にセルC1の値を表示して、10以下であれば「Error」と表示する という文です。
先ほどの for文に この if文を組み込むと こうなります。
🚩「
For i = 1 To 3
Cells(i, 3) = Cells(i, 1) * Cells(i, 2)
If Cells(i, 3) > 10 Then
Cells(i, 4) = Cells(i, 3)
Else
Cells(i, 4) = "Error"
End If
Next
」と書いて実行する。

実行結果はこう。

いい感じになってきましたね。😊
for文とif文があれば 何でも書けますので、しっかりマスターしましょう。
2-3. 今回のまとめ
最後に 今回のまとめです。プログラムっぽくなってきましたね。
Sub macro()
For i = 1 To 3
Cells(i, 3) = Cells(i, 1) * Cells(i, 2)
If Cells(i, 3) > 10 Then
Cells(i, 4) = Cells(i, 3)
Else
Cells(i, 4) = "Error"
End If
Next
End Sub
今回はここまで。👍
次回 ようやく本来の目的である AutoCADの自動作図に入ります。
お楽しみに。
いいなと思ったら応援しよう!
