マクロの自動記録で雛型作って適当に改造というお手軽さ。~ 一般企業の業務システムなんて殆ど何でも作れちゃうし!~ でもトラブルの元になることもあったりする。~ #contents *はじめに [#ue758f7e] VBAはMicrosoft Officeに搭載されている統合開発環境Visual Basic Editor(VBE)上で開発する。~ コードはMicrosoft Excel 2003と2007で動かしているが2003以前でも2007以降でもたぶん動く。~ *HelloWorld [#e42bc4f1] -下準備としてまずはセキュリティレベルを下げる --2003~ ツール→マクロ→セキュリティ→中もしくは低をクリック --2007(2010も2013も同じ)~ 多少面倒くさい。今後のために開発タブを表示させその後設定を変更する。~ 左上のMicrosoft Officeボタン→Excelのオプション→基本設定→Excelの使用に関する基本オプション→~ 開発タブをリボンに表示する→マクロの設定→ 警告を表示しすべてのマクロを無効にする又はすべてのマクロを有効にするをクリック -VBEの起動・プログラムの実行 --2003~ ツール→マクロ→Visual Basic Editor --2007~ 開発タブ→Visual Basic~ あとは以下をコピペして実行→Sub/ユーザーフォームの実行→HelloWorldを選択して実行 Sub HelloWorld() 'これはコメント、アポストロフィーのあとに入力する 'メモみたいなもん '実行結果はA1セルにHelloWorldと表示される Range("A1").Value = "HelloWorld" End Sub -解説~ Sub HelloWorld()からEnd Subまでがプログラムを構成する最小単位であるプロシージャである。~ Sub HelloWorld()はプロシージャ名となる。HelloWorldの部分を書き換えれば好きな名前に出来る。~ 次に何を(オブジェクト)どうするのか(プロパティ)を指定しなければならない。~ Range("A1").Value はRange(セル)にValue(値の代入)をするという意味である。~ Valueは他にもセル内の値を参照するときにも使う。= は値を代入するときに使う記号である。~ ""内に代入したい値を入力する。ただし数値であれば""は不要である。= 1 + 2 のようにすれば計算結果を代入できる。~ ""を使うと(= "1 + 2")計算結果ではなくそのまま1 + 2がセルに表示される。 *変数/計算 [#kfb3527e] *セルの操作 [#h7f52bd5] *条件分岐 [#rfb39303] *繰り返し [#t1f7555b] *配列 [#z2f105a1] *ユーザーフォーム [#u3c9f8de] *ワークシートとブックの操作 [#w17595bb] *関数の活用 [#od08c566] *グラフ [#s128df53] *ピボットテーブル [#h539fec6] *デバッグ [#jc8d8c64] *エラー処理 [#yfeaf1e4] *Win32APIの呼び出し [#q53b9111] *参考 [#y7791cc5]