ExcelVBAへの道
 
Subプロシージャ
実行結果を返さない。
単独で実行するプログラム。
マクロ記録で作成されてたプログラム。
-------------------------------------
Functionプロシージャ
実行結果を返す。
ユーザー定義に使う。
-------------------------------------
3つのモジュール
1、標準モジュール   汎用的なコードを書くとき。
2、フォームモジュール  フォームダイアログボックスのイベントを書く。
3、クラスモジュール  特定のオブジェクトに対してコードを書くとき。
cls.frm.basの拡張子が付いている。
----------------------------------------
ステートメントとは プロシージャ内にある1行のコードのこと。
----------------------------------------
オブジェクトとは エクセルの構成部品のこと。
----------------------------------------
MyData = Range("A1").Value
↑     ↑    ↑
変数 オブジェクト プロパティ
----------------------------------------
Range("A1").Value = "ABC"
右辺から左辺へ値の代入
----------------------------------------
一度エクセルを終了すると、マクロコードを保存するModul1,Modul2とどんどんモジュールが
増えていくのでプロシージャを移動してまとめましょう。
---------------------------------------
With オブジェクト名
.プロパティ = "設定内容"
.プロパティ = "設定内容"
.プロパティ = "設定内容"
End With
でグループ化して省略できる。
-----------------------------------------
hensu = InputBox("メッセージ") でインプットボックスからデータを取り込める。
-----------------------------------------
特徴的なお助け機能
1、自動クイックヒント
2、自動メンバ表示
-----------------------------------------
編集ツールバーのコメントブロックボタンで簡単にエラー部分のコードをコメントに
できるので、検証するときには是非使いましょう。
------------------------------------------
宣言セクションに書かれた変数は同じモジュール内ならどこでも使える。
------------------------------------------
Offsetの使用例

ActiveCell.Offset(0,1).Select
Range("A1").Offset(2,5).Select
Range("A1:B5").Offset(5,-3).Select
-----------------------------------------
ユーザー定義関数設定例

Function 税込売上金額(単価, 数量)
税込売上金額 = 単価 * 数量 * 1.05
End Function

Function kasan(i As Integere,j As Integere) As Integer
kasan = i + j
End Function

-----------------------------------------
VBAコードに保護をかけるとコードを見えなくできる。
VBAEditor>ツール>VBAProjectのプロパティ>保護タブ>プロジェクトを表示用にロックする
をチェックしてパスワードを入力する。
-------------------------------------------
ブックウィンドウサイズについて
Sub MaxSize()

Dim UHeight As Double
Dim UWidth As Double
UHeight = Application.UsableHeight
UWidth = Application.UsebleWidth

With ActiveWindow
.WindowState = xlNormal
.Top = 0
.Left = 0
.Height = UHeight
.Width = UWidth
End With
End Sub
--------------------------------------------------
ブックウィンドウを並べて表示する。

Sub WindowArrange()
Windows.Arrange ArrangeStyle:=xlArrangeStyleTiled '並べて表示
                   =xlArrangeStyleCascade '重ねて表示
=xlArrangeStyleHorizontal '上下に並べて表示
=xlArrangeStyleStyleVertical '左右に並べて表示
---------------------------------------------------
シートを追加
Sub newsheet()
Sheets.Add
End Sub
-----------------------------------------------------
Sub newsheet()
Sheets.Add.Name = "名前"   '名前を付けて追加する
End Sub
-------------------------------------------------------
Sub newsheet()
Sheets.Add after:=Worksheets(1),cont:=2 'ワークシートを2枚追加
End Sub
--------------------------------------------------------
Sub シートを選択()
Worksheets("Sheet1").Activate
End Sub 
---------------------------------------------
シートを移動する

Sub シート移動()
Sheets("Sheet1").Move After:=Sheets(2)
End Sub
----------------------------------------------
ワークシートを非表示にする
Sub hihyouji()
Worksheets("Sheet1").Visible = False
End Sub
-----------------------------------------------
シート1をシート4の後ろにコピーする
Sub copy()
Sheets("Sheet1").Copy After:=Sheets("Sheet4")
End Sub
-----------------------------------------------^
別のブックにシートをコピーする。
Sub bookcopy()
ActiveSheet.Copy Before:=Workbooks("コピー先ブック名”).Sheets(3)
End Sub
------------------------------------------------
シートを削除する
Sub シート削除()
Worksheets("Sheet4").Activate
ActiveSheet.Delete
End Sub
--------------------------------------------------
Sub 線を引く()
Range("A1:D1").Select
Selection.Borders(xlBottom).LineStyle = xlContinuous '直線
Selection.Borders(xlBottom).LineStyle = xlDash '破線
Selection.Borders(xlBottom).LineStyle = xlDshuDot '一点破線
Selection.Borders(xlBottom).LineStyle = xlDshuDotDot '二点破線
Selection.Borders(xlBottom).LineStyle = xlDot 'ドット線
Selection.Borders(xlBottom).LineStyle = xlDouble '二重線
Selection.Borders(xlBottom).LineStyle = xlLineStyleNone '線なし
End Sub
---------------------------------------------------------
Sub 細実線で囲む()
Range("A1:D5").Borders.LineStyle = xlContinuous
End Sub