目次へ戻ります
VB サンプル


VB エクセル操作

Excel.Application オブジェクト

Excelを操作します。
[参照設定]
   Microsoft Excel 8.0 Object Library (EXCEL8.OLB)

[変数宣言]
   Dim xlApp As Excel.Application
   Dim xlBook As Excel.Workbook
   Dim xlSheet As Excel.Worksheet

[オブジェクト生成]
   Set xlApp = CreateObject("Excel.Application")
   ※ Set xlApp = New Excel.Application でも同じことです。
■【Sumple】  test
■【Application】
●Quit EXCELを閉じる
●DisplayAlerts 警告メッセージの表示をするか否か
●Visible EXCELの表示/非表示
●GetOpenFilename [ファイルを開く] ダイアログボックスを表示する
●CommandBars メニューバーを非表示にする
■【Workbook】
●Open ブックを開く
●Saved ブックに変更があったかどうか
●Save ブックを保存する
●Close ブックを閉じる/ブックを保存して閉じる
●Add ブックを追加する
■【Worksheet】
●Activate シートをアクティブにする
●Name シート名を変更する
●Delete シートを削除する
●Copy シートをコピーする
●Add シートを追加する
■【Range】
●Value セルに値を設定する
●Formula セルに数式を設定する
●Clear セルの内容をクリアする
●HorizontalAlignment セルの文字の横位置(センタリング/右寄せ/左寄せ)を設定する
●VerticalAlignment セルの文字の縦位置を設定する
●Copy セルをコピーする
●Insert 行または列を追加する
●End 終端データのセル位置を取得する
●Column 選択されたセルの列番号を取得する
●Row 選択されたセルの行番号を取得する
●ColumnWidth セルの幅を設定する
●RowHeight セルの高さを設定する
●AutoFit セル範囲の列の幅や行の高さをセル内容に合わせて調節する
●Merge セル範囲を結合する
●NumberFormatLocal セルの表示形式を設定する
■【Font】
●ColorIndex セルの文字色を設定する
●Size セルの文字のサイズを設定する
●Bold セルの文字を太字にする
●Italic セルの文字を斜体にする
●Underline セルの文字に下線を設定する
■【Interior】
●ColorIndex セルの背景色を設定する
■【Window】
●DisplayGridlines シートのグリッド線の表示/非表示
●Zoom シートの表示サイズ(%)を設定する
●FreezePanes シートの分割ウィンドウ枠を固定する
●View ウィンドウに表示するビューを設定します
■【PageSetup】
●PrintArea 印刷範囲の設定
●Zoom 印刷する拡大率または縮小率の設定
●FitToPagesTall 縦を何ページで収めるかを設定する
●FitToPagesWide 横を何ページで収めるかを設定する
●TopMargin 上余白のサイズを設定する
●BottomMargin 下余白のサイズを設定する
●LeftMargin 左余白のサイズを設定する
●RightMargin 右余白のサイズを設定する
●HeaderMargin ヘッダの余白サイズを設定する
●FooterMargin フッタの余白サイズを設定する
●BlackAndWhite 白黒印刷に設定する
●Orientation 印刷の向き(縦/横)を設定する
●PaperSize 用紙サイズを設定する
【サンプルリスト その1】

'============================================================================================
' 指定したEXCELファイルを開いて、指定シートのA1セルにHELLOをセットしてファイルを保存して終了する。
'============================================================================================
Private Sub Sample()
  Dim xlApp As Excel.Application
  Dim xlBook As Excel.Workbook
  Dim xlSheet As Excel.Worksheet

  '---------------------
  ' EXCELファイルを開く
  '---------------------
  Dim strFilename As String                             'ファイル名(フルパス)
  strFilename = "C:\TEST\SAMPLE.xls"                    'ファイル名をセット

  Dim strSheetName As String                            'シート名
  strSheetName = "Sheet1"                               'シート名をセット

  Set xlApp = CreateObject("Excel.Application")         'Application生成
  xlApp.Workbooks.Open Filename:=strFilename, UpdateLinks:=0 'EXCELを開く
  xlApp.Visible = True                                       'EXCELの表示

  Set xlBook = xlApp.Workbooks(Dir(strFilename))        'Workbook

  Set xlSheet = xlBook.Worksheets(strSheetName)         'Worksheet

  '--------------
  ' シートの編集
  '--------------
  xlSheet.Cells(1, 1).Value = "HELLO"

  '-----------------------
  ' EXCELファイル終了処理
  '-----------------------
  xlBook.Close saveChanges:=True                       'ブックを保存して終了
  xlApp.Quit                                           'EXCELを閉じる

  Set xlSheet = Nothing                                'オブジェクトの解放
  Set xlBook = Nothing                                 'オブジェクトの解放
  Set xlApp = Nothing                                  'オブジェクトの解放

End Sub
【サンプルリスト その2】

'==============================================================================================
' 新規のEXCELファイルを開いて、シートのA1セルにHELLOをセットしてファイル名を付けて保存して終了する。
'==============================================================================================
Private Sub Sample()
  Dim xlApp As Excel.Application
  Dim xlBook As Excel.Workbook
  Dim xlSheet As Excel.Worksheet

  '---------------------
  ' EXCELファイルを開く
  '---------------------
  Set xlApp = CreateObject("Excel.Application")         'Application生成
  xlApp.Visible = True                                  'EXCELの表示

  xlApp.Workbooks.Add                      '新規ブックを作成する
  Set xlBook = xlApp.ActiveWorkbook        'Workbook
  Set xlSheet = xlBook.ActiveSheet         'Worksheet

  '--------------
  ' シートの編集
  '--------------
  xlSheet.Cells(1, 1).Value = "HELLO"

  '-----------------------
  ' EXCELファイル終了処理
  '-----------------------
  xlBook.Close saveChanges:=True, FileName:="C:\TEST\Sample1.xls" 'ファイル名を指定して保存・終了
  xlApp.Quit                                                      'EXCELを閉じる

  Set xlSheet = Nothing                                'オブジェクトの解放
  Set xlBook = Nothing                                 'オブジェクトの解放
  Set xlApp = Nothing                                  'オブジェクトの解放

End Sub
●Quitメソッド

【機能】 EXCELを終了します。
【書式】 xlApp.Quit
【 例 】 Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Open FileName:="C:\WORK\SAMPLE.XLS", UpdateLinks:=0 'EXCELを開く

xlApp.Quit 'EXCELを閉じる
Set xlApp = Nothing

※ Auto_Close マクロがあっても、実行しません。

※ ブックを保存せずにQuitを実行すると、確認ダイアログボックスが表示されます。
   確認メッセージを表示させないためには、DisplayAlertsをFalseにすると、保存せずに終了します。
   また、ブックを保存しなくても、SavedをTrueにすると、確認メッセージを表示せずにExcelを終了させることができます。
●DisplayAlertsプロパティ

【機能】 マクロ実行時に、ユーザーに入力を促すメッセージや警告メッセージを表示するか否かを設定します。
【書式】 xlApp.DisplayAlerts = True/False
【 例 】 xlApp.DisplayAlerts = False        '警告メッセージを表示させない。
xlBook.Sheets(strSheetName).Delete 'シートの削除
xlApp.DisplayAlerts = True         '警告メッセージを表示させる。
【関連】 Quit、Close
●Visibleプロパティ

【機能】 EXCELを表示/非表示します。
【書式】 xlApp.Visible = True/False
【 例 】 Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Open FileName:="C:\WORK\SAMPLE.XLS", UpdateLinks:=0
xlApp.Visible = True 'EXCELの表示

※ ワークシートの場合、xlVeryHiddenを設定します。
●GetOpenFilenameメソッド

【機能】 ユーザーからファイル名を取得するために、[ファイルを開く] ダイアログ ボックスを表示します。
【書式】 result = xlApp.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
FileFilter 開くファイルの種類を指定する文字列 (ファイル フィルタ文字列) を指定します。
ファイルフィルタ文字列とワイルドカードのペアを、カンマで区切り、各ペアもカンマで区切って指定します。
"EXCELファイル (*.xls),*.xls,CSVファイル (*.csv),*.csv"
1つのファイルフィルタ文字列に複数のワイルドカードを対応させるには、次のように各ワイルドカードをセミコロンで区切ります。
"テキストファイル (*.txt; *.csv),*.txt;*.csv"
引数を省略すると "すべてのファイル (*.*),*.*" を指定したことになります。
FilterIndex 引数 FileFilter で指定したファイル フィルタ文字列の中で、最初の 1 から何番目を既定値とするかを指定します。
Title Windows専用。ダイアログボックスのタイトルを指定します。省略すると "ファイルを開く" になります。
ButtonText Macintosh専用。ダイアログボックスのタイトルを指定します。省略すると "開く" になります。
MultiSelect True を指定すると、複数のファイルを選択できます。False を指定すると、1 つのファイルしか選択できません。既定値は False です。
【戻値】 ユーザーによって選択、または入力したファイルの名前とパス名を返します。
入力が取り消された場合には False が返されます。
引数 MultiSelect が True の場合は、選択したファイルの名前の配列が返されます。選択されたファイルが 1つでも、配列として返されます。
【 例 】 Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")

Dim strFileFilter As String
strFileFilter = "EXCELファイル (*.xls),*.xls"             'ファイルフィルタ設定

Dim result                                                'ファイル名変数
result = xlApp.GetOpenFilename(strFileFilter)             '[ファイルを開く]ダイアログ
If (result = False) Then Exit Sub                         '[キャンセル]ボタンを押した

xlApp.Workbooks.Open FileName:=result, UpdateLinks:=0     '選んだファイルを開く
xlApp.Visible = True

※このメソッドを実行することによってカレントドライブや現在のフォルダが変更される可能性があります。
●CommandBarsプロパティ

【機能】 EXCELのメニューバーを非表示にします。
【書式】 xlApp.CommandBars("Worksheet Menu Bar").Enabled = False/True
【 例 】 xlApp.CommandBars("Worksheet Menu Bar").Enabled = False 'メニューバーを消す
xlApp.CommandBars("Worksheet Menu Bar").Enabled = True  'メニューバーを表示する

※ この操作はEXCELの設定そのものを変更してしまいます。プログラムの最後で必ず設定を元に戻す必要があります。
●Openメソッド

【機能】 ブックを開きます。
【書式】 xlApp.Workbooks.Open(FileName, UpdateLinks, ReadOnly, Format,
                      Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin,
                      Delimiter, Editable, Notify, Converter, AddToMRU)
FileName 開くブックのファイル名を指定します。
UpdateLinks ファイル内のリンクの更新方法を指定します。リンクが設定されているファイルを開くとき、この引数を省略すると、リンク更新のダイアログ ボックスが表示されます。
0 :  外部参照、リモート参照ともに更新されません。
1 :  外部参照は更新され、リモート参照は更新されません。
2 :  リモート参照は更新され、外部参照は更新されません。
3 :  外部参照、リモート参照ともに更新されます。
ReadOnly 読み取り専用モードで開くには、True を指定します。
Format Excel がテキストファイルを開くときに指定するデリミッタです。
1 :  タブ
2 :  カンマ
3 :  スペース
4 :  セミコロン
5 :  なし
6 :  Delimiterで指定した文字
Password パスワード保護されたブックを開くのに必要なパスワードを指定します。
WriteResPassword 書き込み保護されたブックに書き込みをするために、必要なパスワードを指定します。
IgnoreReadOnlyRecommended [読み取り専用を推奨する] チェック ボックスをオンにして保存されたブックを開くときでも、読み取り専用を推奨するメッセージを非表示にするには、True を指定します。
Origin 引数 FileName に指定したファイルがテキストファイルのときに、それがどのような形式かを指定します。xlMacintosh、xlWindows、 xlMSDOS のいずれかです。
Delimiter 引数 Format に 6 が設定されているときに、区切り記号として使う文字を指定します。
Editable 指定したファイルが Excel 4.0 のアドインのときに、アドインをウィンドウとして表示するには、この引数に True を指定します。
Notify 引数 FileName に指定したファイルが読み取り/書き込みモードで開けない場合、ファイルを通知リストに追加するには、True を指定します。
Converter ファイルを開くときに、最初に使うファイルコンバータのインデックス番号を指定します。指定するインデックス番号は、FileConvertersプロパティで返されるファイルコンバータの行番号です。
AddToMru 最近、使用したファイルの一覧をこのブックに追加するには、True を指定します。
【 例 】 Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Open FileName:="C:\WORK\SAMPLE.XLS", UpdateLinks:=0
●Savedプロパティ

【機能】 ブックに変更があったかどうかを調べます。また、設定もできます。ブックに変更が無ければ、Trueが入っています。
【書式】 xlBook.Saved
【 例 】 xlBook.Saved = True 'ブックに変更がなかったことにする
xlBook.Close        '保存せずに終了
【関連】 Save、Close
●Saveメソッド

【機能】 ブックを保存します。
【書式】 xlBook.Save
【関連】 Saved、Close
●Closeメソッド

【機能】 ブックを閉じます。
【書式】 xlBook.Close(SaveChanges, FileName)
SaveChanges ブックを保存するか否かを指定します。
True  ブックを保存して閉じます。
ブックにファイル名が付けられていない場合は、FileNameのファイル名で保存します。FileNameを省略すると、ファイル名入力ダイアログボックスが表示されます。
False  ブックを保存せずに閉じます。
省略  変更したファイルを保存するかどうかを確認するダイアログボックスが表示されます。
FileName 指定されたファイル名で、変更したファイルを保存します。
【 例 】 'ブックに変更があった場合は、確認ダイアログボックスを表示させる。
xlBook.Close
【 例 】 xlBook.Close saveChanges:=False                        '保存せずに終了
xlBook.Close saveChanges:=True                         '保存して終了
xlBook.Close saveChanges:=True, filename:="Sample.xls" 'ファイル名を指定して保存・終了
【 例 】 'DisplayAlertsが Falseの場合に Closeを実行すると、保存せずに終了します。
xlApp.DisplayAlerts = False '警告メッセージ OFF
xlBook.Close                '保存せずに終了
xlApp.DisplayAlerts = True  '警告メッセージ ON
【関連】 Saved、Save、DisplayAlerts

※ ブックのAuto_Closeマクロは実行されません。Auto_Closeマクロを実行するには、RunAutoMacrosメソッドを使います。
●Addメソッド

【機能】 ブックを新規作成します。
【書式】 xlApp.Workbooks.Add(テンプレート)
テンプレート 意味
xlWBATChart グラフシート
xlWBATExcel4IntlMacroSheet Excel4インターナショナルマクロシート
xlWBATExcel4MacroSheet Excel4マクロシート
xlWBATWorksheet ワークシート
【機能】 シートを新規作成します。
【書式】 xlBook.Worksheets.Add(Before, After, Count, Type)
Before 指定したシートの直前に新しいワークシートを追加します。
After 指定したシートの直後に新しいワークシートを追加します。
Count 追加するシートの数を指定します。既定値は 1 です。
Type ワークシートの種類を指定します。
xlWorksheet (既定値)
xlExcel4MacroSheet
xlExcel4IntlMacroSheet
【 例 】 '新規EXCELを開く
Dim xlApp As Excel.Application
Set xlApp = CreateObject("Excel.Application")    '新規EXCELを開く
xlApp.Workbooks.Add                              'ブックを作る
xlApp.Visible = True                             'EXCELの表示
【 例 】 '新規シートをシート"Sample"の直前に追加して、シート名を"New"にする
xlBook.Worksheets.Add before:=xlBook.Worksheets("Sample")
xlBook.ActiveSheet.Name = "New"
【 例 】 '新規シートをアクティブシートの直前に追加して、シート名を"New"にする
xlBook.Worksheets.Add.Name = "New"

※ 新しく作成したブックがアクティブブックになります。
※ 新しく作成したシートがアクティブシートになります。
※ シート追加で、Before とAfter をともに省略すると、アクティブシートの直前に新しいワークシートが追加されます。
●Activateメソッド

【機能】 シートをアクティブにします。
【書式】 xlSheet.Activate
【 例 】 xlSheet.Activate                     'シートをアクティブにする
xlBook.Worksheets("Sheet1").Activate 'シートをアクティブにする
【関連】 Select
●Nameプロパティ

【機能】 シート名を変更します。
【書式】 xlSheet.Name = "シート名"
【 例 】 xlSheet.Name = "TEST"
●Deleteメソッド

【機能】 シートを削除します。
【書式】 xlBook.Sheets(シート名).Delete
【書式】 xlBook.Worksheets(シート名).Delete
【 例 】 'シート(グラフシート、ワークシート)を削除する
xlApp.DisplayAlerts = False
xlBook.Sheets("Sheet1").Delete
xlApp.DisplayAlerts = True

'ワークシートを削除する
xlApp.DisplayAlerts = False
xlBook.Worksheets("Sheet1").Delete
xlApp.DisplayAlerts = True
●Copyメソッド

【機能】 シートをコピーします。
【書式】 xlSheet.Copy Before:=コピー先
xlSheet.Copy After:=コピー先

※ Beforeと Afterの両方を省略した場合は、新規ブックが自動的に作成され、シートはそのブック内にコピーされます。
【機能】 セルをコピーします。
【書式】 xlSheet.Range(セル範囲).Copy Destination:=コピー先
xlSheet.Cells(y, x).Copy Destination:=コピー先

※ Destinationを省略するとクリップボードへコピーされます。
【 例 】 'シートのコピーを、シート(sample) の前に挿入する
xlSheet.Copy before:=xlBook.Worksheets("sample")
【 例 】 'シートのコピーを、シート(sample) の後ろに挿入する
xlSheet.Copy after:=xlBook.Worksheets("sample")
【 例 】 'セル(A2)をコピーしてセル(B3)にペーストする
xlSheet.Range("A2").Copy Destination:=xlSheet.Range("B3")
【 例 】 'セル(A2)をコピーしてセル(B3)にペーストする
xlSheet.Cells(2, 1).Copy Destination:=xlSheet.Cells(3, 2)
【 例 】 'セル(B1〜B3)をコピーしてセル(C1〜C3)にペーストする
xlSheet.Range("B1:B3").Copy Destination:=xlSheet.Range("C1")
【 例 】 'セル(B1〜B3)をコピーしてセル(C1〜C3)にペーストする
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).Copy Destination:=xlSheet.Range("C1")
【 例 】 'セル(A2)をコピーしてセル(B3)にペーストする
xlSheet.Range("A2").Copy
xlSheet.Paste Destination:=xlSheet.Range("B3")
●Valueプロパティ

【機能】 指定したセルの値を設定します。
【書式】 xlSheet.Range(範囲).Value = 値
【書式】 xlSheet.Cells(y, x).Value = 値
【 例 】 'セル(A2) に "Hello" をセットする
xlSheet.Range("A2").Value = "Hello"

'セル(A2) に "Hello" をセットする
xlSheet.Cells(2, 1).Value = "Hello"

'セル(B1〜B3) に "HELLO" をセットする
xlSheet.Range("B1:B3").Value = "HELLO"

'セル(B1〜B3) に "HELLO" をセットする
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).Value = "HELLO"
●Formulaプロパティ

【機能】 指定したセルの数式を設定します。
【書式】 xlSheet.Range(範囲).Formula = "数式"
【書式】 xlSheet.Cells(y, x).Formula = "数式"
【 例 】 'セル(A2) に 計算式 =SUM(B1:B3) をセットする
xlSheet.Range("A2").Formula = "=SUM(B1:B3)"

'セル(A2) に 計算式 =SUM(B1:B3) をセットする
xlSheet.Cells(2, 1).Formula = "=SUM(B1:B3)"
●Clearメソッド

【機能】 指定したセルの内容をクリアします。
【書式】 xlSheet.Range(範囲).Clear
【書式】 xlSheet.Cells(y, x).Clear
【 例 】 'セル(A2)をクリアする
xlSheet.Range("A2").Clear

'セル(A2)をクリアする
xlSheet.Cells(2, 1).Clear

'セル(B1〜B3)をクリアする
xlSheet.Range("B1:B3").Clear

'セル(B1〜B3)をクリアする
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).Clear
●HorizontalAlignmentプロパティ

【機能】 指定したセルの値の配置(水平方向)を設定します。
【書式】 xlSheet.Range(範囲).HorizontalAlignment = 横位置
【書式】 xlSheet.Cells(y, x).HorizontalAlignment = 横位置

横位置 (XlHAlignクラス) 意味
xlHAlignCenter 中央揃え
xlHAlignDistributed 均等割付
xlHAlignJustify 両端揃え
xlHAlignLeft 左詰め
xlHAlignRight 右詰め
xlHAlignCenterAcrossSelection 選択範囲で中央揃え
xlHAlignFill 繰り返し
xlHAlignGeneral 標準
【 例 】 'セル(A2) の文字をセンタリングする
xlSheet.Range("A2").HorizontalAlignment = xlHAlignCenter

'セル(A2) の文字をセンタリングする
xlSheet.Cells(2, 1).HorizontalAlignment = xlHAlignCenter

'セル(B1〜B3) の文字を右寄せにする
xlSheet.Range("B1:B3").HorizontalAlignment = xlHAlignRight

'セル(B1〜B3) の文字を右寄せにする
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).HorizontalAlignment = xlHAlignRight

'セル(A〜E) の文字を左寄せにする
xlSheet.Columns("A:E").HorizontalAlignment = xlHAlignLeft

※ 定数 xlHAlignDistributed は、韓国版、台湾版、中国版、および日本版の Excel でだけ使えます。
●VerticalAlignmentプロパティ

【機能】 指定したセルの値の配置(垂直方向)を設定します。
【書式】 xlSheet.Range(範囲).VerticalAlignment = 縦位置
【書式】 xlSheet.Cells(y, x).VerticalAlignment = 縦位置

縦位置 (XlVAlignクラス) 意味
xlVAlignBottom 下詰め
xlVAlignCenter 中央揃え
xlVAlignDistributed 均等割付
xlVAlignJustify 両端揃え
xlVAlignTop 上詰め
【 例 】 'セル(A2) の文字を中央寄せにする
xlSheet.Range("A2").VerticalAlignment = xlVAlignCenter

'セル(A2) の文字を中央寄せにする
xlSheet.Cells(2, 1).VerticalAlignment = xlVAlignCenter

'セル(B1〜B3) の文字を中央寄せにする
xlSheet.Range("B1:B3").VerticalAlignment = xlVAlignCenter

'セル(B1〜B3) の文字を中央寄せにする
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).VerticalAlignment = xlVAlignCenter

※ 定数 xlVAlignDistributed は、韓国版、台湾版、中国版、日本版の Excel だけで使用できます。
●Insertメソッド

【機能】 行を追加します。
【書式】 xlSheet.Rows(行).Insert
【機能】 列を追加します。
【書式】 xlSheet.Columns(列).Insert
【 例 】 '5行目に1行追加する
xlSheet.Rows(5).Insert

'1行目に3行追加する
xlSheet.Rows("1:3").Insert

'5列目に1列追加する
xlSheet.Columns(5).Insert

'5列目に1列追加する
xlSheet.Columns("E").Insert

'1列目に3列追加する
xlSheet.Columns("A:C").Insert
●Endプロパティ

【機能】 終端データのセル位置を取得します。
【書式】 xlSheet.Range(セル位置).End(方向)
方向(XlDirectionクラス) 意味
xlToLeft 左方向
xlToRight 右方向
xlUp 上方向
xlDown 下方向
【 例 】 'A列目のデータ最終行に移動する (Excel97,2000)
xlSheet.Activate
xlSheet.Range("A65536").End(xlUp).Select 'Aセルの最終行からデータにぶつかるまで上昇
y = xlApp.ActiveCell.Row                 '最終行のY座標を退避

'10行目のデータ最終列に移動する (Excel97,2000)
xlSheet.Activate
xlSheet.Range("IV10").End(xlToLeft).Select '10行目の最終列からデータにぶつかるまで左へ移動
x = xlApp.ActiveCell.Column                '最終列のX座標を退避

※ 定数に間違って xlLeft、xlRight を使うとエラーになります。
●Columnプロパティ

【機能】 選択されたセルの列番号を返します。セルが複数選択されている場合は、最初の列番号を返します。
【書式】 列番号 = xlApp.ActiveCell.Column
【 例 】 '10行目のデータ最終列に移動する (Excel97,2000)
xlSheet.Activate
xlSheet.Range("IV10").End(xlToLeft).Select '10行目の最終列からデータにぶつかるまで左へ移動
x = xlApp.ActiveCell.Column                '最終列のX座標を退避
col1 = Sheets("sheet1").Range("c3").End(xlToRight).Column 'レコードの最右列を取得
col1 = Sheets("sheet1").Range("c256").End(xlToLeft).Column 'レコードの最右列を取得
●Rowプロパティ

【機能】 選択されたセルの行番号を返します。セルが複数選択されている場合は、先頭の行番号を返します。
【書式】 列番号 = xlApp.ActiveCell.Row
【 例 】 'A列目のデータ最終行に移動する (Excel97,2000)
xlSheet.Activate
xlSheet.Range("A65536").End(xlUp).Select 'Aセルの最終行からデータにぶつかるまで上昇
y = xlApp.ActiveCell.Row                 '最終行のY座標を退避
row1 = Range("a1").End(xlDown).Row 'レコードの最終行を取得
row1 = Range("a65536").End(xlUp).Row '          
●ColumnWidthプロパティ

【機能】 対象範囲の列の幅を調節します。
【書式】 xlSheet.Columns(列範囲).ColumnWidth = 20.38
【 例 】 'C列目のセル幅を 20.38 に調整する
xlSheet.Columns("C").ColumnWidth = 20.38

'A〜B列目のセル幅を 18.75 に調整する
xlSheet.Columns("A:B").ColumnWidth = 18.75
●RowHeightプロパティ

【機能】 対象範囲の行の高さを調節します。
【書式】 xlSheet.Rows(行範囲).RowHeight = 18.75
【 例 】 '3行目のセルの高さを 18.75 に調整する
xlSheet.Rows(3).RowHeight = 18.75

'1〜2行目のセルの高さを 18.75 に調整する
xlSheet.Rows("1:2").RowHeight = 18.75
●AutoFitプロパティ

【機能】 対象セル範囲の列の幅や行の高さを内容に合わせて調節します。
【書式】 xlSheet.Columns(列範囲).AutoFit
【 例 】 'A〜B列目のセル幅をセル内容にあわせて調整する
xlSheet.Columns("A:B").AutoFit
●Mergeプロパティ

【機能】 選択範囲のセルを結合します。
【書式】 xlSheet.Range(範囲).Merge
【 例 】 'A1〜C1列目のセルを結合する
xlSheet.Range("A1:C1").Merge
●NumberFormatLocalプロパティ

【機能】 対象セルの書式設定を行ないます。
【書式】 xlSheet.Range(セル範囲).NumberFormatLocal = 書式
【 例 】 'A1セルの書式設定を「文字」へ変更する
xlSheet.Range("A1").NumberFormatLocal = "@"

'B1セルの書式設定を「パーセンテージ(小数点以下2桁)」へ変更する
xlSheet.Range("B1").NumberFormatLocal = "0.00%"

'B1セルの書式設定を「数値(小数点以下2桁)」へ変更する
xlSheet.Range("B1").NumberFormatLocal = "0.00_ "

'C1セルの書式設定を「標準」へ変更する
xlSheet.Range("C1").NumberFormatLocal = "G/標準"
'D1セルの書式設定を「時刻(13:30:55)」へ変更する
xlSheet.Range("C1").NumberFormatLocal = "h:mm:ss"

※ 書式は Format関数とは異なります。
●ColorIndexプロパティ

【機能】 指定したセルの文字色を設定します。
【書式】 xlSheet.Range(範囲).Font.ColorIndex = カラーインデックス
xlSheet.Cells(y, x).Font.ColorIndex = カラーインデックス
【機能】 指定したセルの背景色を設定します。
【書式】 xlSheet.Range(範囲).Interior.ColorIndex = カラーインデックス
xlSheet.Cells(y, x).Interior.ColorIndex = カラーインデックス
(1)

&H000000
(53)

&H003399
(52)
オリーブ
&H003333
(51)
濃い緑
&H003300
(49)
濃い青緑
&H663300
(11)
濃い青
&H800000
(55)
インディゴ
&H993333
(56)
80%灰色
&H333333
(9)
濃い赤
&H000080
(46)
オレンジ
&H0066FF
(12)
濃い黄
&H008080
(10)

&H008000
(14)
青緑
&H808000
(5)

&HFF0000
(47)
ブルーグレー
&H996666
(16)
50%灰色
&H808080
(3)

&H0000FF
(45)
薄いオレンジ
&H0099FF
(43)
ライム
&H00CC99
(50)
シーグリーン
&H669933
(42)
アクア
&HCCCC33
(41)
薄い青
&HFF6633
(13)

&H800080
(48)
40%灰色
&H969696
(7)
ピンク
&HFF00FF
(44)
ゴールド
&H00CCFF
(6)

&H00FFFF
(4)
明るい緑
&H00FF00
(8)
水色
&HFFFF00
(33)
スカイブルー
&HFFCC00
(54)
プラム
&H663399
(15)
25%灰色
&HC0C0C0
(38)
ローズ
&HCC99FF
(40)
ベージュ
&H99CCFF
(36)
薄い黄
&H99FFFF
(35)
薄い緑
&HCCFFCC
(34)
薄い水色
&HFFFFCC
(37)
ペールブルー
&HFFCC99
(39)
ラベンダー
&HFF99CC
(2)

&HFFFFFF
【 例 】 'セル(A2) の文字色を設定する
xlSheet.Range("A2").Font.ColorIndex = 5

'セル(A2) の文字色を設定する
xlSheet.Cells(2, 1).Font.ColorIndex = 5

'セル(B1〜B3) の文字色を設定する
xlSheet.Range("B1:B3").Font.ColorIndex = 5

'セル(B1〜B3) の文字色を設定する
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).Font.ColorIndex = 5

※ 文字色を自動に設定する場合は、xlColorIndexAutomatic を指定します。
【 例 】 'セル(A2) の背景色を設定する
xlSheet.Range("A2").Interior.ColorIndex = 5

'セル(A2) の背景色を設定する
xlSheet.Cells(2, 1).Interior.ColorIndex = 5

'セル(B1〜B3) の背景色を設定する
xlSheet.Range("B1:B3").Interior.ColorIndex = 5

'セル(B1〜B3) の背景色を設定する
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).Interior.ColorIndex = 5
●Sizeプロパティ

【機能】 指定したセルのフォントサイズを変更します。
【書式】 xlSheet.Range(範囲).Font.Size = フォントサイズ
【書式】 xlSheet.Cells(y, x).Font.Size = フォントサイズ
【 例 】 'セル(A2) のフォントサイズを12ポイントにする
xlSheet.Range("A2").Font.Size = 12

'セル(A2) のフォントサイズを12ポイントにする
xlSheet.Cells(2, 1).Font.Size = 12

'セル(B1〜B3) のフォントサイズを12ポイントにする
xlSheet.Range("B1:B3").Font.Size = 12

'セル(B1〜B3) のフォントサイズを12ポイントにする
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).Font.Size = 12

'シート全体のフォントサイズを10にする
xlSheet.Cells.Font.Size = 10
●Boldプロパティ

【機能】 指定したセルのフォントスタイルを太字にします。
【書式】 xlSheet.Range(範囲).Font.Bold = True/False
【書式】 xlSheet.Cells(y, x).Font.Bold = True/False
【 例 】 'セル(A2) のフォントスタイルを太字にする
xlSheet.Range("A2").Font.Bold = True

'セル(A2) のフォントスタイルを太字にする
xlSheet.Cells(2, 1).Font.Bold = True

'セル(B1〜B3) のフォントスタイルを太字にする
xlSheet.Range("B1:B3").Font.Bold = True

'セル(B1〜B3) のフォントスタイルを太字にする
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).Font.Bold = True
●Italicプロパティ

【機能】 指定したセルのフォントスタイルを斜体にします。
【書式】 xlSheet.Range(範囲).Font.Italic = True/False
【書式】 xlSheet.Cells(y, x).Font.Italic = True/False
【 例 】 'セル(A2) のフォントを斜体にする
xlSheet.Range("A2").Font.Italic = True

'セル(A2) のフォントを斜体にする
xlSheet.Cells(2, 1).Font.Italic = True

'セル(B1〜B3) のフォントスタイルを斜体にする
xlSheet.Range("B1:B3").Font.Italic = True

'セル(B1〜B3) のフォントスタイルを斜体にする
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).Font.Italic = True
●Underlineプロパティ

【機能】 指定したセルのフォントスタイルに下線を設定します。
【書式】 xlSheet.Range(範囲).Font.Underline = 下線スタイル
【書式】 xlSheet.Cells(y, x).Font.Underline = 下線スタイル
下線スタイル (XlUnderlineStyleクラス) 意味
xlUnderlineStyleNone 下線なし
xlUnderlineStyleSingle 1本の下線
xlUnderlineStyleDouble 2本の下線
xlUnderlineStyleSingleAccounting セル幅の長さの1本の下線
xlUnderlineStyleDoubleAccounting セル幅の長さの2本の下線
【 例 】 'セル(A2) の文字に下線をつける
xlSheet.Range("A2").Font.Underline = xlUnderlineStyleSingle

'セル(A2) の文字に下線をつける
xlSheet.Cells(2, 1).Font.Underline = xlUnderlineStyleSingle

'セル(B1〜B3) の文字に下線をつける
xlSheet.Range("B1:B3").Font.Underline = xlUnderlineStyleSingle

'セル(B1〜B3) の文字に下線をつける
xlSheet.Range(xlSheet.Cells(1, 2), xlSheet.Cells(3, 2)).Font.Underline = xlUnderlineStyleSingle
●DisplayGridlinesプロパティ

【機能】 シートのグリッド線を表示/非表示にします。
【書式】 xlApp.ActiveWindow.DisplayGridlines = False
【 例 】 xlSheet.Activate                            'このシートの...
xlApp.ActiveWindow.DisplayGridlines = False 'グリッド線を非表示にする
●Zoomプロパティ

【機能】 シートの表示サイズをパーセントで設定します。
【書式】 xlApp.ActiveWindow.Zoom = 75
【 例 】 xlSheet.Activate             'このシートの...
xlApp.ActiveWindow.Zoom = 75 '表示サイズを75%にする

※ Zoomに Trueを設定すると、現在の選択範囲に適したウィンドウサイズを設定することができます。
●FreezePanesプロパティ

【機能】 シートの分割ウィンドウ枠を固定します。
【書式】 xlApp.ActiveWindow.FreezePanes = True/False
【 例 】 xlSheet.Activate                      'このシートの...
xlSheet.Range("B4").Select            'セル(B4)位置で...
xlApp.ActiveWindow.FreezePanes = True '分割ウィンドウ枠を固定する
●Viewプロパティ

【機能】 ウィンドウに表示するビューを設定します。
【書式】 xlApp.ActiveWindow.View = 表示モード
表示モード (XlWindowViewクラス) 意味
xlNormalView 標準
xlPageBreakPreview 改ページプレビュー
【 例 】 xlApp.ActiveWindow.View = xlNormalView       'ビューは「標準」
【 例 】 xlApp.ActiveWindow.View = xlPageBreakPreview 'ビューは「改ページプレビュー」
●PrintAreaプロパティ

【機能】 印刷範囲を設定します。
【書式】 xlSheet.PageSetup.PrintArea = 印刷範囲
【 例 】 xlSheet.PageSetup.PrintArea = "A1:L50"
●Zoomプロパティ

【機能】 印刷する拡大率または縮小率(10%〜400%)を設定します。
【書式】 xlSheet.PageSetup.Zoom = 拡大率または縮小率
【 例 】 xlSheet.PageSetup.PrintArea = "A1:X100" '印刷範囲
xlSheet.PageSetup.Zoom = False
xlSheet.PageSetup.FitToPagesTall = 1 '縦を1ページに収める
xlSheet.PageSetup.FitToPagesWide = 1 '横を1ページに収める

※このプロパティが False の場合、どのようにワークシートを拡大または縮小するかは、FitToPagesWide と FitToPagesTall の設定で決まります。

※どのように拡大または縮小しても、元の文書の縦横比は保持されます。
●FitToPagesTallプロパティ

【機能】 印刷する時に、縦を何ページで収めるかをを設定します。
【書式】 xlSheet.PageSetup.FitToPagesTall = 縦のページ数
【 例 】 '1ページで印刷する
xlSheet.PageSetup.PrintArea = "A1:X100" '印刷範囲
xlSheet.PageSetup.Zoom = False
xlSheet.PageSetup.FitToPagesTall = 1 '縦を1ページに収める
xlSheet.PageSetup.FitToPagesWide = 1 '横を1ページに収める
【 例 】 '2ページで印刷する
xlSheet.PageSetup.PrintArea = "A1:X100" '印刷範囲
xlSheet.PageSetup.Zoom = False
xlSheet.PageSetup.FitToPagesTall = 2 '縦を2ページに収める
xlSheet.PageSetup.FitToPagesWide = 1 '横を1ページに収める
xlApp.ActiveWindow.View = xlPageBreakPreview               '改ページプレビューにしないと下行がエラーになる
Set xlSheet.HPageBreaks(1).Location = xlSheet.Range("A55") '54行目で改ページとする

※ このプロパティに False が設定されているときは、FitToPagesWide に従ってワークシートの大きさが決められます。

※ Zoom に True を設定すると、FitToPagesTall は無視されます。
●FitToPagesWideプロパティ

【機能】 印刷する時に、横を何ページで収めるかをを設定します。
【書式】 xlSheet.PageSetup.FitToPagesWide = 横のページ数
【 例 】 xlSheet.PageSetup.PrintArea = "A1:X100" '印刷範囲
xlSheet.PageSetup.Zoom = False
xlSheet.PageSetup.FitToPagesTall = 1 '縦を1ページに収める
xlSheet.PageSetup.FitToPagesWide = 1 '横を1ページに収める

※ このプロパティに False が設定されているときは、FitToPagesTall に従ってワークシートの大きさが決められます。

※ Zoom プロパティに True を設定すると、FitToPagesWide は無視されます。
●TopMarginプロパティ
【機能】 上余白のサイズを設定します。単位はポイントです。
【書式】 xlSheet.PageSetup.TopMargin = ポイント

●BottomMarginプロパティ
【機能】 下余白のサイズを設定します。単位はポイントです。
【書式】 xlSheet.PageSetup.BottomMargin = ポイント

●LeftMarginプロパティ
【機能】 左余白のサイズを設定します。単位はポイントです。
【書式】 xlSheet.PageSetup.LeftMargin = ポイント

●RightMarginプロパティ
【機能】 右余白のサイズを設定します。単位はポイントです。
【書式】 xlSheet.PageSetup.RightMargin = ポイント

●HeaderMarginプロパティ
【機能】 ヘッダの余白サイズを設定します。単位はポイントです。
【書式】 xlSheet.PageSetup.HeaderMargin = ポイント

●FooterMarginプロパティ
【機能】 フッタ余白サイズを設定します。単位はポイントです。
【書式】 xlSheet.PageSetup.FooterMargin = ポイント

【 例 】 xlSheet.PageSetup.TopMargin = 0    '上余白を0ポイントにする
xlSheet.PageSetup.BottomMargin = 0 '下余白を0ポイントにする
xlSheet.PageSetup.LeftMargin = 0   '左余白を0ポイントにする
xlSheet.PageSetup.RightMargin = 0  '右余白を0ポイントにする
xlSheet.PageSetup.HeaderMargin = 0 'ヘッダ余白を0ポイントにする
xlSheet.PageSetup.FooterMargin = 0 'フッタ余白を0ポイントにする
【 例 】 xlSheet.PageSetup.LeftMargin = xlApp.CentimetersToPoints(5) '左余白を5cmにする
xlSheet.PageSetup.RightMargin = xlApp.InchesToPoints(2.5)   '右余白を2.5inchにする

※ 余白の単位は、ポイントです。他の単位 (インチ、センチメートル) をポイント単位に変換するためには、InchesToPoints 、または CentimetersToPoints を使います。

※ 1ポイントは、1/72インチ、0.35mmです。
●BlackAndWhiteプロパティ

【機能】 白黒印刷に設定します。
【書式】 xlSheet.PageSetup.BlackAndWhite = True
【 例 】 xlSheet.PageSetup.BlackAndWhite = True '白黒印刷モード
●Orientationプロパティ

【機能】 印刷の向き(縦/横)を設定します。
【書式】 xlSheet.PageSetup.Orientation = 向き
向き (XlPageOrientationクラス) 意味
xlLandscape
xlPortrait
【 例 】 xlSheet.PageSetup.Orientation = xlLandscape '用紙 = 横
【 例 】 xlSheet.PageSetup.Orientation = xlPortrait '用紙 = 縦
●PaperSizeプロパティ

【機能】 用紙サイズを設定します。
【書式】 xlSheet.PageSetup.PaperSize = 用紙サイズ
用紙サイズ (XlPaperSizeクラス) 意味
xlPaperLetter レター (8 1/2 x 11 インチ)
xlPaperLetterSmall レター (小型) (8 1/2 x 11 インチ)
xlPaperTabloid タブロイド (11 x 17 インチ)
xlPaperLedger レジャ (17 x 11 インチ)
xlPaperLegal リーガル (8 1/2 x 14 インチ)
xlPaperStatement ステートメント (5 1/2 x 8 1/2 インチ)
xlPaperExecutive エグゼクティブ (7 1/2 x 10 1/2 インチ)
xlPaperA3 A3 (297 mm x 420 mm)
xlPaperA4 A4 (210 mm x 297 mm)
xlPaperA4Small A4 (小型) (210 x 297 mm)
xlPaperA5 A5 (148 mm x 210 mm)
xlPaperB4 B4 (250 mm x 354 mm)
xlPaperB5 B5 (182 mm x 257 mm)
xlPaperFolio フォリオ (8 1/2 x 13 インチ)
xlPaperQuarto カート (215 x 275 mm)
xlPaper10x14 10 x 14 インチ
xlPaper11x17 11 x 17 インチ
xlPaperNote ノート (8 1/2 x 11 インチ)
xlPaperEnvelope9 封筒 9 号 (3 7/8 x 8 7/8 インチ)
xlPaperEnvelope10 封筒 10 号 (4 1/8 x 9 1/2 インチ)
xlPaperEnvelope11 封筒 11 号 (4 1/2 x 10 3/8 インチ)
xlPaperEnvelope12 封筒 12 号 (4 1/2 x 11 インチ)
xlPaperEnvelope14 封筒 14 号 (5 x 11 1/2 インチ)
xlPaperCsheet C シート
xlPaperDsheet D シート
xlPaperEsheet E シート
xlPaperEnvelopeDL 封筒 DL (110 x 220 mm)
xlPaperEnvelopeC3 封筒 C3 (324 x 458 mm)
xlPaperEnvelopeC4 封筒 C4 (229 x 324 mm)
xlPaperEnvelopeC5 封筒 C5 (162 x 229 mm)
xlPaperEnvelopeC6 封筒 C6 (114 mm x 162 mm)
xlPaperEnvelopeC65 封筒 C65 (114 mm x 229 mm)
xlPaperEnvelopeB4 封筒 B4 (250 mm x 353 mm)
xlPaperEnvelopeB5 封筒 B5 (176 mm x 250 mm)
xlPaperEnvelopeB6 封筒 B6 (176 mm x 125 mm)
xlPaperEnvelopeItaly 封筒 (110 mm x 230 mm)
xlPaperEnvelopeMonarch 封筒モナーク (3-7/8 x 7-1/2 インチ)
xlPaperEnvelopePersonal 封筒 (3-5/8 x 6-1/2 インチ)
xlPaperFanfoldUS U.S. Standard Fanfold (14-7/8 x 11 インチ)
xlPaperFanfoldStdGerman German Standard Fanfold (8-1/2 x 12 インチ)
xlPaperFanfoldLegalGerman German Legal Fanfold (8-1/2 x 13 インチ)
xlPaperUser ユーザー設定
【 例 】 xlSheet.PageSetup.PaperSize = xlPaperA3 '用紙 = A3

※ 多くのプリンタは、プリンタの種類によりサポートされていないものもあります。

※ Windows 版 Excel が使われているときにだけ使用することができるプロパティです。

目次へ戻ります