見出し画像

【ごまかんぱちの挑戦】エクセルで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
」と書いて実行する。

文字を表すときは、「"」で挟んで「"Error"」と書くんでしたね。

実行結果はこう。

いい感じになってきましたね。😊
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の自動作図に入ります。
お楽しみに。

「役に立った!」「助かった!」と感じたらサポートいただけると嬉しいです。😊