Excel VBAで範囲から表を作成する(6例)

  • これを共有
Hugh West

と連携しながら マイクロソフトエクセル Excelの表は、データの並べ替えやフィルタリング、新規レコードの追加、グラフやピボットテーブルの更新をすばやく行うことができます。 そして エクセルブイビーエー を使うと、簡単なコードでアプリケーションをカスタマイズすることができます。 この記事では エクセルブイビーエー を使用して、範囲からテーブルを作成します。

練習用ワークブックをダウンロードする

ワークブックをダウンロードして、一緒に練習することができます。

範囲からテーブルを作成する.xlsm

Excel VBAで範囲から表を作成する6つの例

テーブルは、Excelのメニュー版ではリストでしたが、リボン版では機能が増えました。 データ範囲をテーブルに変換することで、機能が拡張され、より迅速かつ容易に作業できるようになります。 範囲をテーブルに変換する 使って ブイビーエー は、リボンを使うよりも簡単な方法です。

カラムにいくつかの項目がある単純なデータセットがあるとする。 B を含む場合、それらの項目の数量は、列 C であり、各項目の売上高の合計を列挙している。 D それでは、レンジからテーブルを作成するための様々な例とステップバイステップの手順を説明します。 B4:D9 をExcel VBAで作成します。

使用方法 ListObjects.Add を使えば、範囲をExcelの表にすることができます。 Spreadsheetオブジェクトは、以下のような特徴を持っています。 リストオブジェクト . リストオブジェクト という技があります。 追加 の基準です。 .追加 は以下の通りです。

expression .Add(SourceType, Source, LinkSource, HasHeaders,Destination)

また、SourceTypeを使用する xlSrcRange .

1.範囲から表を生成するExcel VBA

エクセルブイビーエー を使えば、リボンから簡単にExcelのメニューを表示することができます。 ブイビーエー のコードで、範囲からテーブルを生成することができますので、手順を追って説明します。

STEPS

  • まずは デベロッパー タブをクリックします。
  • 2つ目は、から コード カテゴリーをクリックします。 ビジュアルベーシック を開いてください。 Visual Basic エディター を押すか Alt + F11 を開いてください。 Visual Basic エディター .
  • これを行う代わりに、ワークシート上で右クリックし 表示コード に移動します。 Visual Basic エディター .

  • に表示されます。 Visual Basic エディター ここでは、範囲からテーブルを作成するためのコードを記述します。
  • 3つ目は、「」をクリックすることです。 モジュール から インサート ドロップダウンメニューバー

  • これにより モジュール をワークブックに追加してください。
  • と、コピー&ペーストしてください。 ブイビーエー というコードが表示されます。

VBAのコードです。

 Sub Create_Table() Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1" End Sub 
  • その後、コードを実行するために RubSub ボタンを押すか、キーボードショートカット F5 .

コードを変更する必要はありません。 必要に応じて範囲を変更すればよいだけです。

  • そして最後に、以下の手順で範囲からテーブルを作成します。 B4:D9 .

VBAコード説明

 Sub Create_Table() 

サブ は、コード内の作業を処理するために使用されますが、値を返しません。 サブプロシジャとも呼ばれます。 そこで、このプロシジャの名前を テーブルを作成します。 .

 Sheet1.ListObjects.Add(xlSrcRange, Range("B4:D9"), , xlYes).Name = "Table1". 

これは、範囲をテーブルとして変換する主なコード行です。 すでに知っているように ListObjects.Add を使用して、範囲をExcelの表に変換します。 そして、その際に xlSrcRange をソース型として宣言しています。 レンジ("B4:D9") そして最後に、このテーブルを次のように命名します。 表1 .

 エンド・サブ 

これで手続きは終了です。

続きを読む ピボットテーブルの範囲を更新する方法(5つの適切な方法)

2.エクセルVBAで範囲から表を作成する

Excel VBAを使用して、範囲から表を作成する別の例を見てみましょう。

STEPS

  • まず デベロッパー リボンから[r]タブを選択します。
  • 2つ目は、「」をクリックします。 ビジュアルベーシック を開いてください。 Visual Basic エディター .
  • もうひとつの開き方 Visual Basic エディター を押すだけです。 Alt + F11 .
  • または、シート上で右クリックし 表示コード .
  • 次に、次のページに進みます。 インサート を選択し モジュール をドロップダウン・メニューから選択します。
  • そして、これでビジュアルベーシックのウインドウが開かれます。
  • その後、コピー&ペーストで VBAコード を下回る。

VBAのコードです。

 Sub Generate_Table() Dim tb2 As Range Dim wsht As Worksheet Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet ws.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "Table2" End Sub 
  • を押してください。 F5キー をクリックするか ラン・サブ ボタンをクリックすると、コードが実行されます。

  • そして、次のような結果が得られます。 方法1 .

VBAコード説明

 Dim tb2 As Range Dim wsht As Worksheet 

があります。 ディム 記載 ブイビーエー というのは、" を宣言します。 「と、変数を宣言するために使用しなければなりません。 そこで、範囲を宣言して ティー・ビー・ツー とワークシートに ws .

 Set tb2 = Range("B4").CurrentRegion Set wsht = ActiveSheet 

VBA Setを使えば、コードを実行するときに、選ぶべき範囲を何度も入力する必要がなくなります。 そこで、範囲を現在のリージョンに設定し、ワークシートをアクティブなワークシートに設定します。

 wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=tb2).Name = "テーブル2". 

このコードで、範囲からテーブルを作成し、テーブルの名前を付けます。 表2 .

続きを読む VBAでExcelの表を使う方法(9つの可能性)

3.ExcelのVBAで範囲から表を作成する

Excel VBAを利用して、範囲から表を作成する例をもう一つ見てみましょう。

STEPS

  • はじめに、表に変換したい範囲全体を選択します。
  • をクリックします。 デベロッパー タブをクリックします。
  • 3つ目は、起動することです。 Visual Basic エディター をクリックすると ビジュアルベーシック .
  • または Visual Basic エディター を押して Alt + F11 .
  • あるいは 右クリック を選びます。 表示コード をメニューから選択します。
  • 次に モジュール の下にあるドロップダウン・ボックスから インサート .
  • そして、ビジュアルベーシックのウィンドウが表示されます。
  • そこにコードを書き込む。

VBAのコードです。

 Sub Create_Table3() Dim r As Range Dim wsht As Worksheet Dim tb3 As ListObject Set r = Selection.CurrentRegion Set wsht = ActiveSheet Set tb3 = wsht.ListObjects.Add(SourceType:=xlSrcRange, Source:=r, XlListObjecthasheaders:=x1Yes) End Sub 
  • 最後に F5キー を実行してください。

  • で取得したデータ範囲から、テーブルを作成します。 方法1 .

続きを読む エクセルで表を作る方法(カスタマイズあり)

類似の読み物

  • ピボットテーブルで計算されたフィールドの合計をカウントで割る
  • Excelで相対度数分布の図解をする方法
  • Excel ピボットテーブル 週ごとのグループ化(適切な例3つ)
  • [修正] ピボットテーブルで日付のグループ化ができない:4つの解決方法
  • エクセルで償却表を作る方法(4つの方法)

4.VBAを適用して範囲から動的なテーブルを作成する

Excel VBAを使用して範囲から表を生成する別の方法について見てみましょう。

STEPS

  • はじめに、リボンを開いて デベロッパー オプションを使用します。
  • そして、アクセスするために Visual Basic エディター をクリックします。 ビジュアルベーシック .
  • プレス加工 Alt + F11 を表示させることもできます。 Visual Basic エディター .
  • あるいは。 右クリック を選択し 表示コード をクリックすると、メニューが表示されます。
  • では、その中から インサート を選択します。 モジュール .
  • 次に、コピーして貼り付けます。 ブイビーエー というコードがあります。

VBAのコードです。

 Sub Create_Dynamic_Table1() Dim tbOb As ListObject Dim TblRng As Range With Sheets("Example4") lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tbOb.Name = "DynamicTable1" tbOb.TableStyle = "TableStyleMedium14" End With Endサブ 
  • を押して、コードを実行します。 F5 キーになります。

  • に示されているように 方法1 のイラストのように、レンジからテーブルが作られることになります。

VBAコード説明

 Sub Create_Dynamic_Table1() 

この行は、サブプロシジャの名前を示します。

 Dim tbOb As ListObject Dim TblRng As Range 

この2行は、変数宣言に使用されます。

 With Sheets("例4") 

があります。 ステートメント付き を使えば、オブジェクトの名前を再修飾することなく、1つのオブジェクトに対して一連のステートメントを行うことができます。 ですから、ここでは、オブジェクトを囲むように 声明 をシート名とする。

 lLastRow = .Cells(.Rows.Count, "A").End(xlUp).Row lLastColumn = .Cells(1, .Columns.Count).End(xlToLeft).Column 

これらはそれぞれ、最後の行と最後の列を見つけるためのものです。

 Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) 

テーブルを作成する範囲。

 Set tbOb = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) 

上記の指定された範囲のテーブルを作成する。

 tbOb.Name = "DynamicTable1 "です。 

テーブル名の指定

 tbOb.TableStyle = "TableStyleMedium14"。 

テーブルのスタイルを指定する。

続きを読む ショートカットを使ってExcelで表を作成する(8つの方法)

5.レンジからダイナミックテーブルを作成する

次に、Excel VBAで範囲から表を作成する別の方法を紹介します。

STEPS

  • はじめに、リボンを開き、以下を選択します。 デベロッパー をドロップダウン・メニューから選択します。
  • 次に、以下を選択します。 ビジュアルベーシック を開いてください。 Visual Basic エディター .
  • があります。 Visual Basic エディター を押してもアクセスできます。 Alt + F11 .
  • または 右クリック を選択し 表示コード をポップアップメニューから選択します。
  • その後、以下を選択します。 モジュール から インサート のドロップダウンメニューをご利用ください。
  • 次に、以下のVBAコードをコピー&ペーストしてください。

VBAのコードです。

 Sub Create_Dynamic_Table2() Dim tbObj As ListObject Dim TblRng As Range With Sheets("Example5") .Range("A1").Select Selection.CurrentRegion.Select Set tbObj = .ListObjects.Add(xlSrcRange, Selection, , xlYes) tbObj.Name = "DynamicTable2" tbObj.TableStyle = "TableStyleMedium15" End With End Sub 
  • 最後に、コードを実行するには F5 をキーボードで入力すると、ワークシートに結果が表示されます。

  • で実証されているように 方法1 のイラストのように、範囲からテーブルを構成することになります。

続きを読む Excelの表を見やすくする方法(効果的な8つのコツ)

6.エクセルVBAで動的な表を作成する

Excel VBAで範囲から表を作成する別の方法を探ってみましょう。

STEPS

  • はじめに デベロッパー tab> ビジュアルベーシック > インサート > モジュール .
  • あるいは 右クリック をクリックすると、ウィンドウが表示されます。 表示コード .
  • そして、これで Visual Basic エディター フィールドに、VBA マクロを記述することができます。
  • 逆に Alt + F11 を開くこともできます。 Visual Basic エディター .
  • その後で、次のように入力します。 ブイビーエー のコードになります。

VBAのコードです。

 Sub Create_Dynamic_Table3() Dim tableObj As ListObject Dim TblRng As Range With Sheets("Example6") lLastRow = .UsedRange.Rows.Count lLastColumn = .UsedRange.Columns.Count Set TblRng = .Range("A1", .Cells(lLastRow, lLastColumn)) Set tableObj = .ListObjects.Add(xlSrcRange, TblRng, , xlYes) tableObj.Name = "DynamicTable3" tableObj.TableStyle = "TableStyleMedium16" End With End Sub 
  • そして、その結果を確認するために、コードを実行します。 F5キー .

  • の画像のように、範囲からテーブルが作成されます。 方法1 .

続きを読む エクセルでデータを使って表を作成する方法(5つの方法)

結論

上記の方法は、Excelで範囲から表を作成するのに役立ちます。 これがあなたの助けになることを願って!あなたが何か質問、提案、またはフィードバックを持っている場合は、コメント欄でお知らせください。 またはあなたは私たちの他の記事で一目を持っていることができます。 エクセルウィキ・ドットコム ブログ

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。