VB6 リファレンス お品書き へ戻ります
Visual Basic6 リファレンス


VB6(VBA) エクセル操作
Excelのファイルオープン 〜 セルの編集、参照、体裁、印刷 〜 保存して終了 まで Excel.Application オブジェクトのマニュアル

[参照設定]
   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 でも同じことです。

お品書き
サンプル プログラム
● サンプル指定したEXCELファイルを開いて、指定シートのA1セルにHELLOをセットしてファイルを保存して終了する。
● サンプル新規のEXCELファイルを開いて、シートのA1セルにHELLOをセットしてファイル名を付けて保存して終了する。
ApplicationEXCEL全体の操作
● QuitEXCELを閉じる
● DisplayAlerts警告メッセージの表示をするか否か
● VisibleEXCELの表示/非表示
● 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用紙サイズを設定する


● EXCEL操作 サンプル プログラム その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


● EXCEL操作 サンプル プログラム その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 から何番目を既定値とするかを指定します。
TitleWindows専用。ダイアログボックスのタイトルを指定します。省略すると "ファイルを開く" になります。
ButtonTextMacintosh専用。ダイアログボックスのタイトルを指定します。省略すると "開く" になります。
MultiSelectTrue を指定すると、複数のファイルを選択できます。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 を指定します。
FormatExcel がテキストファイルを開くときに指定するデリミッタです。
1タブ
2カンマ
3スペース
4セミコロン
5なし
6Delimiterで指定した文字

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
【 例 】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グラフシート
xlWBATExcel4IntlMacroSheetExcel4インターナショナルマクロシート
xlWBATExcel4MacroSheetExcel4マクロシート
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座標を退避


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


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

'A〜B列目のセル幅を 18.75 に調整する
xlSheet.Columns("A:B").ColumnWidth = 18.75


● RowHeight プロパティ
【機能】対象範囲の行の高さを調節します。
【書式】xlSheet.Rows(行範囲).RowHeight = 高さ
【 例 】 '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下線なし
xlUnderlineStyleSingle1本の下線
xlUnderlineStyleDouble2本の下線
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 = サイズ%
【 例 】 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 インチ)
xlPaperA3A3 (297 mm x 420 mm)
xlPaperA4A4 (210 mm x 297 mm)
xlPaperA4SmallA4 (小型) (210 x 297 mm)
xlPaperA5A5 (148 mm x 210 mm)
xlPaperB4B4 (250 mm x 354 mm)
xlPaperB5B5 (182 mm x 257 mm)
xlPaperFolioフォリオ (8 1/2 x 13 インチ)
xlPaperQuartoカート (215 x 275 mm)
xlPaper10x1410 x 14 インチ
xlPaper11x1711 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 インチ)
xlPaperCsheetC シート
xlPaperDsheetD シート
xlPaperEsheetE シート
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 インチ)
xlPaperFanfoldUSU.S. Standard Fanfold (14-7/8 x 11 インチ)
xlPaperFanfoldStdGermanGerman Standard Fanfold (8-1/2 x 12 インチ)
xlPaperFanfoldLegalGermanGerman Legal Fanfold (8-1/2 x 13 インチ)
xlPaperUserユーザー設定
【 例 】 xlSheet.PageSetup.PaperSize = xlPaperA3 '用紙 = A3

  ※ 多くのプリンタは、プリンタの種類によりサポートされていないものもあります。
  ※ Windows 版 Excel が使われているときにだけ使用することができるプロパティです。