VBE(Visual Basic Editor)の起動

[ALT]+[F11] を 押下。 または「ツール」/「マクロ」/「Visual Basic Editor」をクリック[Microsoft Visual Basic for Application]が表示される
[sheet1]をダブルクリック
「挿入」/「標準モジュール」をクリック

VBEの書き方   ()内は省略可
Option VBASupport 1   ← LibreCALC使用時
 
 Sub プロジェクト名()
(On Error GoTo 行ラベル)
    正常時の処理内容
(Exit Sub)
(行ラベル:)
(エラー時の処理内容)
End Sub

[Exit Sub]で無限ループを強制終了する

VBEの保存

マクロ有効ブックとして保存
ファイルネームが .xls ⇒ .xlsmに替わる
Excel2010や2007ではm黄色の「!」マークがつく

VBAプログラムの実行

[ALT] + [F8]を押下 または 「ツール」の「マクロ」をクリック

ステップ実行は「ステップイン」ボタンをクリックする

実行用ボタンから実行

ワークシートにオートシェープで図形を作成する
オートシェープ図形上で右クリック
メニュー内の「マクロの登録」をクリック
「マクロの登録」画面で実行させたいマクロを一覧から選択し「OK」をクリックする
ワークシートのオートシェープ図形をクリックする

<オブジェクト> 操作対象を示す

同じオブジェクトに対し内容をまとめて記述する
 With オブジェクト
  .オブジェクトに対する処理
  .オブジェクトに対する処理
 End With

例 With Range(“B3”).Font
.Name = “Cosmic Sans MS”
.Size = 14
.Bold = True
End With
内容 B3セルのフォントを “Cosmic Sans MS” 、14サイズ、太文字とする。

プロパティ  オブジェクトの属性/状態を示す
 設定書式 オブジェクト.プロパティ = 値
 取得書式 オブジェクト.プロパティ

プロパティの種類プロパティの名前
データValueRange(“B3”).Value = 5
ColorRange(“A1”).Color = RGB(0,0,255)
行番号Row
列の幅ColumnWidth
罫線Border

メソッド  オブジェクトに対する動作の指示を示す
  書式 オブジェクト.メソッド(引数1,引数2,・・)

メソッドの書式: オブジェクト.メソッド

メソッドの種類メソッドの名前
アクティブActivateRange(“A1”).Activate
Worksheet(“問題”).Activate
Workbook(“テスト”).Activate
コピーCopyRange(“A1”).Copy Range(“B5”)
切り取りCut
貼り付けPaste
セルや行、列を挿入InsertRange(“A1”).Insert([Shift],[CopyOrigin])
データの削除ClearContents Range(“A1”).ClearContent
形式の選択Paste Special

ワークシートのセルの参照
 オブジェクト.Range(セル1、セル2)
 オブジェクト.Cells(行番号、列番号)

説明
Range(“B1”)セルB1
Range(“B1,C2”)セルB1とセルC2
Range(“B1:C2”) セル範囲B1~C2
Range(“B1”,”C2”) セル範囲B1~C2
Range(“B1:C2″,”D3:E4”) セル範囲B1~C2 と  セル範囲D3~E4
Range(“2:5”) 行2~行5
Range(“B:C”) 列B~列C
Cells(3,3)セルC3
Cells(3,”C”) セルC3
Cells全てのセル

変数を使用した1つのセルの指定はCellsプロパティを使用する(Rangeプロパティは使用できません)
例 Dim x As Integer
For x = 1 To 5
Cells(x,x).Value = 2*x
Next x
結果 A1=2、B2=4、C3=6、D4=8、E5=10

変数を使用したセル範囲(複数のセル)の指定はrangeプロパティとCellsプロパティを組み合わせて使用する
例 Dim x As Integer
For x = 1 To 4
Range(Cells(x,1),Cell(x,x)).Value = 2*x
Next x
結果 A1=2、B1,B2=4、C1,C2,C3=6、D1,D2,D3,D4=8

選択しているセルの参照
 オブジェクト.Selection(選択しているセルを参照)
 オブジェクト.ActiveCell(アクティブセルを参照)

いづれのプロパティも値の取得のみ可能で、戻り値はRangeオブジェクトです。
複数のウインドウを開いている時に、アクティブではないウインドウのセルを参照する場合は、windowオブジェクトを指定します。

セルの選択
 オブジェクト.Select (セルやセル範囲を選択)
 オブジェクト.Activate(セルをアクティブにする)

例 Worksheets(“Sheet3”).Active
Range(“A1:C5”).Select
Range(“B3”).Activate
セルをアクティブにするさいには、先にシートをアクティブにする。

行や列の参照
 オブジェクト.Rows  (行指定)
 オブジェクト.Columns(列指定)

内容
Rows全行
Rows(2)2行目
Rows(“2:4”)2~4行目
Columns全列
Columns(3)C行
Columns(“C”)C行
Columns(“D:E”)D~E行

Range(“B4:D5”).Row(1).Interior.ColorIndex=8
B4~D5までのセル範囲の1行目(B4行)を8の色で塗る

変数の宣言 Dim 変数名 As データ型

データ型 使用メモリ格納できる値
バイト型(Byte)1バイト0〜255の整数
ブール型(Boolean)2バイトTrue または False
整数型(Integer)2バイトー32768〜32767の整数
長整数型(Long)4バイト−2147483648〜2147483647の整数
単精度浮動小数点型(Single)4バイトー3.302823E38〜3.402823E38
倍精度浮動小数点型(Double)8バイトー1.7976931348623E308〜1.7976931348623E308t
通貨型(Currency)8バイト-9223372036854775808~9223372036854775807
日付型(Date)8バイト西暦100年1月1日〜西暦9999年12月31日と時刻データ
文字列型(String)10バイト+文字列数文字列
バリアント型全ての値
オブジェクト型4バイトWorkbook,Worksheet,Range

宣言されていない変数の使用禁止はモジュール先頭に「Option Explict]を記載する。

オブジェクト型変数の使用方法
 Dim 変数名 As オブジェクト型  
 Set 変数名 = オブジェクト 

数値型や文字列型の変数は単に「変数名=値」の構文で値を格納できますが、オブジェクト変数の場合 Setステートメントを使用します。

例1:変数myRangesにセル範囲を格納する
  Dim myRanges As Range
Set myRanges = Worksheet(“Sheet2”).Range(“B2:D4”)

例2:オブジェクト変数をクリアする場合は「Nothing」を使用する
Set myRanges = Nothing

定数の宣言 Const 定数名 As データ型 = 値

例: Const myColor As Integer = 46

1次元配列変数の宣言 
 Dim 変数名 (上限値) As データ型

例: Dim myArray(2) As String
myArray(0) = “雪”
myArray(1) = “月”
myArray(2) = “花”

注意:配列の開始番号を1から始める場合 [Option Base = 1] を最初に書く
   配列を任意の番号から始める場合  [Dim myArray(2 To 4) As String]と宣言する

2次元配列変数の宣言 
 Dim 変数名(行数、列数)As データ型

例:Dim myData(2,1) As Integer
myData(0,0) = 0
myData(0,1) = 1
myData(1,0) = 10
myData(1,1) = 20
myData(2,0) = 30
myData(2,1) = 40

メッセージ画面を表示する      MsgBox(prompt,buttons,title,helpfile,context)

prompt:メッセージを文字列で書く
 参考:vbCrLfで改行する
buttons:表示するボタンやアイコンを指定する(下表)

buttomの設定説明
vbOKonly0[OK]ボタンを表示する
vbOKCancel1[OK][キャンセル]ボタンを表示する
vbAbortRetryIgnore2[中止][再試行][無視] ボタンを表示する
vbYesNoCancel3 [はい][いいえ][キャンセル] ボタンを表示する
vbYesNo [はい][いいえ] ボタンを表示する
vbRetryCancel5 [再試行][キャンセル] ボタンを表示する
vbCritical16警告アイコンを表示する  ✖
vbQuestion32問い合わせアイコンを表示する ?
vbExclamation48注意アイコンを表示する !
vbInformation64情報アイコンを表示する i

title:メッセージボックスのタイトルバーに表示する文字列を書く
helpfile:ヘルプを表示する場合、ヘルプファイルの名前を指定する
context:ヘルプを表示する場合、ヘルプに対応したコンテキスト番号を指定する

MsgBoxの戻り値:下表

定数クリックされたボタン
vbOK1[OK] ボタン
vbCancel2[キャンセル] ボタン
vbAbort3[中止] ボタン
vbRetry4[再試行] ボタン
vbIgnore5[無視] ボタン
vbYes6[はい] ボタン
vbNo7[いいえ]ボタン

MsgBox関数の戻り値を条件に分岐する
例 Dim modorichi As Integer
modoorichi = MsgBox(“データーを消去しますか?” , VbOKCancel + vbQuestion)
if modorichi = vbOK Then
Range(“A1:C5”).CleanContents
End if
メッセージボックスに「データを消去しますか?」「OK」「キャンセル」が表示される。
「OK」をクリックするとA1~C5のデータを消去する。

ユーザーフォームの作成

1)ユーザーホームの追加
   ツール/ユーザーホームをクリック ⇒「UserForm1」が作成される
2)タイトルバーの表示を変える
   CaptionのUserForm1を変更する
3)コマンドボタンの配置(ユーザーフォームに配置されるコントロール:部品)
   フォームをクリック/ツールボックスからコマンドボタンをクリック/配置したいところでクリック

コントロールの種類内容
ラベル文字を表示
テキストボックス文字を入力
オプションボタン複数の選択肢の中から1つの項目を選択
フレームオプションボタンをグループにまとめる
チェックボックスオンかオフの状態で二者拓一の選択
リストボックス複数の選択肢の中から1つあるいは複数の項目を選択
コンポボックス 複数の選択肢の中から1つの項目を選んだり、文字を入力したりする
RefEditセルのハインを選択
コマンドボタン実行ボタンを作成
トグルボタンボタンをクリックしてオンかオフの状態を選択
タブストリップタブをクリックして表示する内容を切り替える
マルチページタブをクリックして表示するページを切り替える
スクロールバースクロールっ操作で数値を指定
スピンボタンボタンをクリックして数値を指定
イメージ画像を表示

4)コマンドボタンの名前を変える
    表示/CaptionのCommandButtonを変更する
5)イベントブロシージャを作成する

入力用のダイヤログボックスを表示する
  Application.InputBox(prompt,title,drfault,,,,type)

prompt:表示したいメッセージを文字列で書きます。
title:ダイアログボックスのタイトルバーに表示する文字列を書きます
例 Dim nyuuryoku As string
nyuuryoku = Application.Inbox(“住所を入力してください”,”あなたの住所”,”ここに入力)”)
if nyuuryoku = “False” Then MsgBox”キャンセルされました”
elseIf nyuuryoku = “” Then MsgBox”未入力です”
Else Range(“C4”).Value = nyuuryoku
住所を入力用ダイヤログボックスで入力し、キャンセルをクリックしたら「キャンセルされました」表示。入力しないで「OK」をクリックした場合は「未入力です」表示。入力し「OK」をクリックした場合は、入力値をC4セルに転送する

有効なデータが入力されるまでダイヤログボックスを表示する(DO Loop Untilを使用する)
例 Dim nyuuryoku As string
Do
nyuuryoku = Application.Inbox(“住所を入力してください”,”あなたの住所”,”ここに入力)”)
if nyuuryoku = “False” Then Exit Sub
Loop Until nyuuryoku = string ????
Else Range(“C4”).Value = nyuuryoku

有効なデータが入力されるまでダイヤログボックスを表示する(DO Loop Untilを使用する)

例 Do

命令文の途中の改行(スペース+アンダースコア: _)

演算子

算術演算子意味使用例結果
7+2
7−2
7*214
7/23.5
べき乗7^249
整数商7¥2
Mod割り算のあまり7Mod2
比較演算子意味使用例結果
等しい7 = 2False
<>等しくない7 <> 2True
より大きい7 > 2True
>=以上7 >= 2True
より小さい7 < 2False
<=以下7 <= 2False
Likeパターンマッチング文字列1 Like 文字列2
論理演算子 意味
And複数の論理式が 〜 かつ 〜 で連結される 
Or複数の論理式が 〜 または 〜 で連結される
Not否定
連結演算子意味使用例結果
文字列の連結”Excel” & ”VBA”ExcelVBA
文字列の連結”Excel” + ”VBA”ExcelVBA

If   条件式1 Then 処理1          ElseIf 条件式2 Then 処理2         Else          処理3
End If

Select Case 比較対象
Case 条件1 処理1
Case 条件2 処理2
:
Case Else 処理x
End Select

For 変数名 = 初期値 To 最終値 (Step 増分値)   
  処理
Next 変数名

[Exit For]で Forループから抜ける

For Each 変数 in コレクション
  繰り返し実行する処理  
Next

動作:オブジェクトの数だけ処理を繰り返す。
コレクション:Selection--プロパティの一種でワークシート上で選択しているオブジェクトを取得する
      :Range(“A1:B4”)–A1セル~B4セルの範囲

Do While 条件式
   条件が一致するとき実行する処理
Loop

条件式が成立しているとき、処理を繰り返す
[Exit Do]で Doループから抜ける。

Do Until 条件式
   条件が一致しないとき実行する処理
Loop

条件式が成立しないとき、処理を繰り返す(条件が成立するまで処理を繰り返す)
[Exit Do]で Doループから抜ける。

Do
   条件が一致するとき実行する処理
Loop While 条件式

処理を1回実行し、条件式が成立している時、処理を繰り返す。
[Exit Do]で Doループから抜ける。

Do
条件が一致しないとき実行する処理
Loop Until 条件式

処理を1回実行し、条件式が成立しない時、処理を繰り返す。(条件が成立するまで処理を繰り返す)
[Exit Do]で Doループから抜ける。

Rangeオブジェクト.AutoFilter Field:=フィールド番号 _
,Criteria1:= 1つ目の条件値 _
,Operator:= 条件の種類 _
,Criteria2:= 2つ目の条件値

Rangeオブジェクトは、表を形成する一部のセルを指定する。
Field:=フィールド番号は、絞り込む基準となる列を整数で指定します。表の左端の列を「1」として、絞り込む列の何列目かを指定する。
Operator:=条件の種類は、「1つ目の条件値」と「2つ目の条件値」の組み合わせを指定します。2つの条件が成立するなら[xlAnd],2つの条件のいづれかが成立するのなら[xlOr]を使用します。

Now(現在の日時を取得する)

戻り値は、コントロールパネルの日時の表示形式による

Date(現在の日付を取得する)

戻り値は、コントロールパネルの日付の表示形式による

Year(シリアル値から年のみを取得する)

Len(文字列)

動作:文字列の文字数を取得する

StrConv(文字列、変換の種類)

動作:文字列の種類を変換する。

変換の種類意味
vbWide半角文字を全角文字に変換する
vbNarrow全角文字を半角文字に変換する
vbUpperCase大文字に変換する
vbLowerCase小文字に変換する
vbProperCase先頭の文字のみ大文字に変換する
vbKatakana ひらがなをカタカナに変換する
vbHiragana カタカナをひらがなに変換する

文字列 Like パターン

動作:パターンマッチングを行う

意味
chr Like “[ A – z ]全角英字 マッチング
chr Like “[A-z] 半角英字 マッチング
chr Like “[ 0 – 9 ] 全角数字 マッチング
chr Like “[0-9] 半角数字 マッチング

複数のマッチングを条件を指定する Or And

例 chr Like “[A-z]” Or chr Like “[0-9]”

Rnd(0~1のランダムな数値を発生させる)

Int(数値の整数部分のみを取得する)

Mid(文字列、開始位置、文字数)

動作:文字列から指定の字数分 取得する

Replace(文字列を置換する)

セルの表示形式 
  オブジェクト.NumberFormatLocal = “整数;負数;0;文字列”

数値の書式

書式記号内容
数値1桁、0を補う4321.5678に「000.00」を設定 ⇒ 4321.57
42.3に「000.00」を設定 ⇒ 042.30
0に「0”個”」を設定 ⇒ 0個
数値1桁、0を補わない7654.321に「#,##0.##」を設定 ⇒ 7,654.32
76.5に「#,##0.##」を設定 ⇒ 76.5
0に「#”個”」を設定 ⇒ 個 (0は表示されない)
パーセント 0.76532に「0.00」を設定 ⇒ 76.53%

日付と時刻の書式

書式内容
yyyy/yy西暦4桁/2桁1999/4/2に「yyyy」を設定 ⇒ 1999
mm/m月2桁/1桁 1999/4/2に「mm/dd」を設定 ⇒ 04/02
dd/d日2桁/1桁 1999/4/2に「m”月”d”日”」を設定 ⇒ 4月2日
aaaa曜日 1999/4/2に「aaaa」を設定 ⇒ 火曜日 
aaa曜日 1999/4/2 に「m/d(aaa)」を設定 ⇒ 4/2(火)
hh/h時2桁/1桁 19:08:26に「hh:mm」を設定 ⇒ 19:08
mm/m 分2桁/1桁 19:08:26 に「h”時”m”分”」を設定 ⇒ 19時8分
ss/s 秒2桁/1桁 19:08:26 に「hh:mm:ss」を設定 ⇒ 19:08:26
AM/PMAMまたはPM 19:08:26 に「h AM/PM」を設定 ⇒ 7 PM

その他の書式

書式内容
文字列佐藤に「”担当”:@」を設定 ⇒ 担当:佐藤
[色名]文字に色を付ける-34.5に「[青]0;[赤]”▲”0」を設定 ⇒ ▲34

セルの配置設定
  オブジェクト.HorizontalAlignment = 設定値
  オブジェクト.VerticalAlignment = 設定値
  オブジェクト.Orientation = 設定値
  オブジェクト.WrapText = True/False

HrizontalAlignmentプロパティ 内容
xlGeneral(デフォルト)標準
xlLeft左詰め
xlCenter 中央揃え
xlRight 右詰め
xlFill 繰り返し
xlJustify 両端揃え
xlCenterAcrossSelection 選択範囲で中央
xlDistributed 均等割り付け

例 Range(A1).HorizontalAlignment = xlLeft  A1セルを左づめ

VerticalAlignmentプロパティ 内容
xlTop上詰め
xlCenter(デフォルト) 中央揃え
xlBottom 下詰め
xlJustify 両端揃え
xlDistributed 均等割り付け

例 Range(A1).VerticalAlignment = xlVAlignTop  A1セルを上づめ

Orientationプロパティ
例 Range(A1).Orientation = xlHorizontal 横書き
Range(A1).Orientation = xlVertical   縦書き
Range(A1).Orientation = -90 ~ 90 角度指定

WrapTextプロパティ
例  Range(A1).WrapText = True A1セル内で折り返す
Range(A1).WrapText = False A1セル内で折り返さない

フォントの設定
 オブジェクト.Name = フォント名
 オブジェクト.Size = サイズ
 オブジェクト.Bold = True(太文字)/False(解除)
 オブジェクト.Italic = True(斜体)/False(解除)
 オブジェクト.Underline = True(下線)/False(解除)

例 With Range(“A1”).Font
.Name = Arial Black セルA1に書かれている文字をArial Blackフォントにする。
.size = 16      セルA1に書かれている文字のフォントサイズを16にする。
.Bold = True     セルA1に書かれている文字を太文字にする。
.Italic = True セルA1に書かれている文字を斜体にする。
.Underline = True セルA1に書かれている文字に下線を引く。
End With

セルを結合/解除する
  オブジェクト.MergeCell= True(結合)/False(解除)

例 Range(A1:A2).MergeCell = True セルA1とセルA2を結合する

セルの色を設定
  オブジェクト. Interior.ColorIndex = 色の設定値
  オブジェクト. Font.ColorIndex = 色の設定値

例:セルA1を赤(3)に設定しフォントの色を(白)にする
With Range(“A1”)
.Interior.ColorIndex = 3
.Font.ColorIndex = 2
End With

例: セルA1の色を解除しフォントの色を自動にする
With Range(“A1”)
.Interior.ColorIndex = xlColorIndexNone
.Font.ColorIndex = xlColorIndexAutomatic
End With

セル位置に罫線を引く
  オブジェクト.Borders(Index)

Borders(Index) 内容
xlEdgeTop上端の横線
xlEdgeBottom 下端の横線
xlEdgeLeft 左端の縦線
xlEdgeRight 右端の縦線
xlInsideHorizontal内側の横線
xlInsideVertical 内側の縦線
xlDiagonalUP 右上がりの斜線
xlDiagonalDown 右下がりの斜線

罫線の種類を設定する
  オブジェクト.LineStyle = 設定値

LineStyleの設定

設定値内容
xlContinuous 細実線
xlDash破線
xlDashDot一点鎖線
xlDashDotDot二点鎖線
xlDot点線
xlDouble二重線
xlSlantDashDot斜め破線
xlLineStyleNoneなし

例 Range(“B2:D6”).Borders.LineStyle = xlContinuous
    B2~D6セルの表に格子罫線を引く
Range(“B2:D2”).Borders(xlEdgeBottom).LineStyle = xlDouble
    B2~D2のセルに下二重線を引く

罫線の太さを設定する
  オブジェクト.Weight = 設定値

Weightの設定 内容
xlHairline極細
xlThin
xlMedium
xlThick

セルの周囲に罫線を引く(メソッド)
オブジェクト.  BorderAround(LineStyle,Weight,ColorIndex,Color)

セルをコピーする
  オブジェクト.Copy(Destination)

例 Range(“B2:C4”).Copy Range(“B7”)
    B2~C4セルをB7セル(先頭のみでOK)にコピーする

クリップボードを経由して貼り付ける
  オブジェクト.Paste(Destination)

例 Range(“B2:C4”).Copy B2~C4セルの内容をクリップボードにコピー
ActiveSheet.Paste Range(“B7”) アクティブシートのセルB7に貼り付け

形式を選択して貼り付ける
  Range(セル).PasteSpecial(Paste,Operation,SkipBlanks,Traanspose)

Paste設定内容
xlPasteAll(デフォルト)すべて
xlPasteFormulas数式
xlPasteValues
xlPasteFormats 書式
xlPasteComments コメント
xlPasteValidation 入力規制
xlPasteAllExceptBorders 罫線を除くすべて
xlPasteColumnWidths 列幅
xlPasteFormulasAndNumberFormats 数式と数値の書式
xlPasteValuesAndNumberFormats 値と数値の書式

Operation:演算をして貼り付ける場合に指定します。
SkipBlanks:空白セルを貼り付け対象にしない場合はTrue,対象にする場合はFalse,デフォルトはFalse
Traanspose:貼り付ける際、行と列を入れ替える場合はTrue、入れ替えない場合はFalse、デフォルトはFalse

セルを挿入する
  オブジェクト.Insert(Shift,CopyOrigin)

Shift:セルの移動方向を設定 ShiftUp,ShiftDown
CopyOrigin:書式のコピー元を設定

セルを削除する
  オブジェクト.Delete(Shift)

セルの高さや幅を設定
  オブジェクト.RowHeight = 高さ
  オブジェクト.ColumnWidth = 幅

セルに数式を設定する
  オブジェクト.Formula = 数式

セルの値や書式をクリアする
  オブジェクト.Clear   書式とデータを消去
  オブジェクト.ClearFormats   書式を消去
  オブジェクト.ClearContents  データを消去
  オブジェクト.ClearComments コメントを消去

セルに連続データを設定する
  オブジェクト.AutoFill(Destination、Type)

Typeの設定内容
xlFillDefault(デフォルト)標準
xlFillCopy セルのコピー
xlFillSeries 連続データ
xlFillFormats 書式のみコピー
xlFillValues 書式なしコピー
xlFillDays 日単位
xlFillWeekdays 週日単位
xlFillMonths 月単位
xlFillYears 年単位

例 B1の「月」を基準にして、「火(C1),水(D1)、木(E1)、金(F1)」を設定する
Range(“B1”).Value = “月”
Range(“B1”).AutoFill Range(“B1:F1”),xlWeekdays

例 A1の1を基準にして「2(A2),3(A3),4(A4),5(A5),6(A6),7(A7),8(A8)」を設定する
Range(“A1”) = 1
Range(“A1”).AutoFill Range(“A1:A8”),xlFillSeries

ソート(複数の条件で並べ替え)
オブジェクト.Sort(Key1,Oder1,Key2,Oder2,Key3,Oder3,Header,OderCustom)

Oderで指定する設定内容
xlAscending(デフォルト)昇順
xlDecending降順
Headerで指定する設定内容
xlGuessExcelが自動判別
xlNo(デフォルト)指定範囲全体を並べ替える
xlYes先頭行を除いた範囲を並べ替える

オートフィルタ(条件に一致するデータを抽出)
Range(セル).AutoFilter(Field,Criteria1,Operator,Criteria2)

Field:フィルタ条件の対象となる列の番号を指定する。列番号は、対象のセル範囲の左から数える。
Criteria1:第1のフィルタ条件の文字列を記載する。
Operator:2つのフィルタ条件を設定する。下表参照
Criteria2:第2のフィルタ条件の文字列を記載する。

Operator設定内容
xlAND(デフォルト)And条件
xlOrOr条件
xlTop10Items上位10件
xlTop10percent上位10%
xlBottom10Items下位10件
xlBottom10percent下位10%

例1 Range(“C5”).AutoFilter 2,”男”      セルC5を先頭とする対象のエリアの2列目が男であるデータを抽出
例2 Range(“C5″).AutoFilet Field:=4,Criteria1:=”>=400″,Operator:=xlAnd,Criteria2:=”<=500″
セルC5を先頭をする対象エリアの4列目の値が400以上で かつ 500以下のデーターを抽出

データを検索
  オブジェクト.Find(What)

例: Dim kensaku As Range
Set kensaku = Range(“A1:A11”).Find(“男”)

データを置き換える
  オブジェクト.Replace(What,Replacement)

What:検索する文字列を指定
Replacement:置き換える文字列を指定

例: Range(“A1:D6”).Replace(”男性”、”女性”)    A1〜D6の範囲で、男性データを女性に置き換えた

ワークシートをアクティブにする
  オブジェクト.Activate

例 Worksheets(“宿題”).Activate 宿題シートをアクティブにする

ワークシートの追加
  オブジェクト.Add(Before,After,Count)

Before,After:ワークシートの追加する位置を指示します。どちらかを選択します。2つとも省略した場合は、Beforeになります。
Count:追加するワークシートの数を指定します。デフォルトは1です
例: Worksheets.Add After:=Worksheet(3),Count:=2  3番目のワークシートの後ろに2枚のワークシートを追加

ワークシートの削除
  オブジェクト.Delete

ワークシートの名前を変更
  オブジェクト.Name = 設定値

例 worksheets(“Sheet2”).Name = “練習”

ブックを開く
  オブジェクト.Open

例 Workbooks.Open “C:\DATA\テスト.xls”

ブックをアクティブにする
  オブジェクト.Activate

例 Workbooks(“テスト.xls”).Activate テストブックをアクティブにする

ブックに名前をつけて保存
  オブジェクト.SaveAs(Filename.FileFormat)

FileFormatの設定内容(拡張子)
xlAdinアドイン(.xla)
xlCSVカンマ区切り(.txt/.csv)
xlCurrentPlatformTextテキスト(.txt)
xlExcel9795Excel97-2000,Excel5.0/95(.xls)
xlHtmlWebページ(.htm)
xlTemplateテンプレート(.xlt)
xlWebArchiveWebアーカイブ(.mht)
xlWorkbookNormal(デフォルト)ブック(.xls)

ブックを上書き保存
  オブジェクト.Save

例: ActiveWorkbook.Save

ウインドウの表示倍率を変更
  オブジェクト.Zoom = 設定値(パーセント設定)

ウインドウの最大化/最小化
  オブジェクト.WindowState = 設定値

WindowStateの設定値内容
xlMaximized最大化
xlNormal標準
xlMinimized最小化

ウインドウの位置とサイズを設定
  オブジェクト.Top = 設定値    上端からの距離を設定
  オブジェクト.Left = 設定値    左端からの距離を設定
  オブジェクト.Height = 設定値   高さを設定
  オブジェクト.Width = 設定値   幅を設定

例:
With ActiveWindows
.WindowState = xlNormal 標準表示
.Top = 10
.Left = 50
.Height = 100
.Width = 200
End With

印刷プレビューの表示
  オブジェクト.PrintPreview

印刷の実行
  オブジェクト.PrintOut(Form,To,Copies,,,,Collate)

from:開始ページ
To:終了ページ
Copies:印刷部数
Collate:True/False 部数単位の印刷