VBA関数
Tab関数

Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説
公開日:2013年5月以前 最終更新日:2025-06-15

Tab関数


Tab関数は、Print # ステートメントまたは Print メソッドでテキストを出力する際に、次の出力開始位置を指定した桁数に移動させます。
これにより、列を揃えた整形された出力を簡単に作成できます。



Tab関数の構文

Tab(n)

n (省略可能):
データ型: Long
次の出力項目の開始位置となる桁数を指定する数値式です。
桁数は、出力行の左端から数えられ、1 から始まります。
引数 n を省略した場合、Tab 関数は現在の出力位置から最も近い次のタブストップに移動します。VBAの既定のタブストップは通常14文字ごとです。

解説・制限事項等
  • Tab 関数は、ファイルに書き込む際(Print #ステートメント)や、イミディエイトウィンドウ (Debug.Print)、またはユーザーフォームのPrintメソッドなどでテキストを出力する際に使います。
  • nを指定した場合:
    • 出力行の左端からn番目の桁に移動します。
    • 現在の出力位置がnより大きい場合(すでにnを越えている場合)、Tab 関数は自動的に次の行のn番目の桁に移動します。
    • nが0の場合、エラーが発生します。
    • nが非常に大きい値の場合、システムで利用可能な最大幅に切り詰められることがあります。
  • nを省略した場合:
    • 現在の出力位置から最も近い次のタブストップ位置に移動します。標準のタブストップは14桁ごとです(例: 15, 29, 43 など)。
  • Spc 関数との違い:
    • Spc 関数が指定された数の空白文字を挿入するのに対し、Tab 関数は出力位置を特定の桁に移動させる点が異なります。Tab 関数は、出力が特定の列にきれいに揃うように調整する際に特に便利です。
  • Print #ステートメントや Debug.Print で使用する場合、各項目間はセミコロン(;)で区切るのが一般的です。

Tab関数の使用例

次のコード例では、Tab 関数を使って、ファイルやイミディエイトウィンドウへの出力の桁位置を調整する方法を示します。

Sub Tab_SimpleSample()

  Dim fileNum As Integer
  Dim filePath As String
  
  filePath = ThisWorkbook.Path & "\TabTest.txt" ' 一時ファイルパス
  
  On Error GoTo ErrorHandler ' エラーハンドラ設定
  
  ' --- ファイルへの出力例 ---
  fileNum = FreeFile
  Open filePath For Output As #fileNum
  
  ' Tab(n) で特定の桁に移動して出力
  Print #fileNum, "商品名"; Tab(15); "価格"; Tab(25); "数量"
  Print #fileNum, "鉛筆"; Tab(15); "100円"; Tab(25); "5個"
  
  ' Tab() 引数なしで次のタブストップに移動して出力
  Print #fileNum, "" ' 改行
  Print #fileNum, "項目A"; Tab(); "項目B"; Tab(); "項目C"
  
  Close #fileNum
  
  MsgBox "ファイル '" & Dir(filePath) & "' にTab関数を使って出力しました。内容を確認してください。", _
      vbInformation, "Tab 関数例 (ファイル)"
  
  ' --- イミディエイトウィンドウへの出力例 ---
  Debug.Print "名前:"; Tab(10); "年齢:"; Tab(20); "出身地:"
  Debug.Print "山田太郎"; Tab(10); "35歳"; Tab(20); "東京"
  
  MsgBox "イミディエイトウィンドウにも出力しました。Ctrl+Gで確認してください。", _
      vbInformation, "Tab 関数例 (Debug.Print)"
     
  ' テストファイルを削除
  Kill filePath

  Exit Sub

ErrorHandler:
  MsgBox "エラーが発生しました: " & Err.Description, vbCritical, "エラー"
  If fileNum <> 0 Then Close #fileNum
  If Dir(filePath) <> "" Then Kill filePath
End Sub

  • このコードでは、Print #ステートメントとDebug.Printを使ってTab 関数の動作を示しています。
  • ファイルへの出力例では、Tab(15)のように引数nを指定することで、出力位置を厳密に制御し、列を揃えています。また、Tab()のように引数を省略することで、既定のタブストップ位置に移動する例も示しています。
  • イミディエイトウィンドウへの出力例でも同様に、Debug.PrintでTab 関数を使用し、整形された出力をシミュレートしています。Debug.Printの各項目間もセミコロン(;)で区切ることで、Tab で指定された位置に正確に移動します。
  • Ctrl+Gを押してイミディエイトウィンドウを開くと、実行結果を確認できます。
  • エラーハンドリングと一時ファイルの削除も含まれています。


※本記事の作成にあたっては、生成AI(Gemini)を活用し一部の文章作成を行っています。最終的な内容は人間による確認・編集を経て掲載しています。


Office VBA リファレンス Tab関数

※VBA関数一覧
マクロVBA関数の一覧と解説です、どんな関数があるかは一度は確認しておくとをお勧めいたします。どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。文字列操作…34 分岐…3 型変換…14 データ判定…10 日付時刻…20 配列…6 ファイル操作…14 数学/財務…28 その他……



同じテーマ「VBA関数」の記事

LOF関数
Seek関数
Spc関数
Tab関数
Abs関数
Int関数
Fix関数
Hex関数
Oct関数
Rnd関数
Round関数


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ