鋼管杭の断面諸元をExcel2013VBAで計算します。
ここでは、基本的な変数、定数の定義とセルの数値の読み込み、書き込みを勉強します。
表示シートの作成
下図のようなExcelシートを準備しました。
鋼管直径、板厚、腐食しろの入力【K7:K9】と、計算結果【P11:T12】の表を用意し、計算結果の表をリンク付きの図で杭の説明図と入力表の下に配置しています。
VBAでデータ【K7:K9】を読み込み、計算結果を【P11:T12】に出力します。
普通は、直接シート内で計算して終わる程度の内容ですが、今回は勉強の意味でVBAを使って計算します。
Visual Basicの立ち上げ・保存
用意したExeleのVisual Basicを立ち上げます。
「開発」タブをクリック → 「Visual Basic」のアイコンをクリック → Visual Basicエディターが起動します。
エディター上で標準モジュールを立ち上げます。
起動したModule1の中にプロシージャを書いていきます。
ちなみに、プロジェクトのアイコンでフォルダの切り替え等が可能です。
モジュールにプロシージャの書き込み
今回のVBAで勉強した内容を簡単に説明しておきます。私の理解を❞こんな感じ❞という雰囲気で書いていますので、正確には他の書物等でご確認ください。
VBAプロジェクト、モジュール、プロシージャ
VBAプロジェクトの中に、複数のモジュールがあり、各々のモジュールは複数のプロシージャからなります。プロシージャは、1行ごとのステートメントで構成されています。
プロシージャ:VBAの処理をまとめた機能で、FORTRUNで言えばサブルーチンのイメージ。プロシージャに書かれた1行ごとをステートメントというらしい。
モジュール :プロシージャが書かれた場所で、FORTRUNで言えばMain Programでしょうか。
VBAプロジェクト:ファイル単位でマクロを管理するためにつけられるものらしい。
とりあえず、モジュールの中に、つぎのようにプロシージャを書いていきます。
Sub プロシージャ名()
このSubとEndSubの間にステートメントを書く。
End Sub
変数と定数の定義
変数には、データの型を定義しておく必要がありますが、様々なものがあります。とりあえず、良く使いそうなものを示しておきます。
Integer :整数
Long :長整数
Single :単精度浮動小数点数(実数)
Double :倍精度浮動小数点数(実数)
String :文字列
Variant :バリアント(すべてのデータ)
変数は、次のように宣言を行います。
Dim 変数名 [As データ型] [ ]内は省略可能
なお、配列は0から始まりますので、たとえば、A(3)と定義すると、A(0)、A(1)、 A(2)、A(3)の4つの変数を定義することになります。
セルの値の読み込み・書き込み
Rangeの引数にセル名を指定すると、そのセルの値を取得できます。
A = Range(“B3”).Value
数値Aをセル”B3”に書き込むのは、その逆で、
Range(“B3”).Value = A
セル書式の定義
セルに数値を表示させる場合のセル書式の定義は、Rangeに.NumberFormatを付けて、Excelシート上で「セルの書式設定」 → 「表示形式」 → 「ユーザー定義」で設定しているのと同様の表示形式を記入します。
たとえば、 Range(“B3”).NumberFormat = ”0.00”
計算実行
念のため、ファイルの上書きと、「デバック(D)」タブをクリック → 「VBAプロジェクトのでのコンパイル」を実行しておきます。
下図のボタンをクリックすれば、Subが実行されます。
以上、こんな感じで出来ました。
コメント