VBA転置(ステップバイステップ)| VBAで転置するトップ2の方法

データテーブルをワークシートに貼り付けると、Excelワークシートで転置機能が表示されます。転置は、データテーブルであるため、行と列の位置を変更します。つまり、行は列になり、列は行になります。 VBAの関数は、VBAのApplication.worksheetメソッドで使用します。

VBAで転置する方法は?

行と列の切り替えは、ほとんどすべてのユーザーがExcelで行うデータ操作手法の1つです。水平方向のデータを垂直方向に変換し、垂直方向のデータを水平方向に変換するプロセスは、Excelでは「転置」と呼ばれます。通常のワークシートでの転置に精通している必要があると確信しています。この記事では、VBAコーディングで転置メソッドを使用する方法を説明します。

2つの方法を使用してVBAで転置できます。

  1. TRANSPOSE式を使用して転置します。
  2. 貼り付け特殊メソッドを使用して転置します。

転置するときは、行を列に、列を行に交換します。たとえば、データが4 X 3配列の場合、3 X4配列になります。

VBAで列を行に転置するいくつかの例を見てみましょう。

#1-TRANSPOSE式を使用したVBA転置

同様にExcelでTRANSPOSEを使用する方法と同様に、VBAでもTRANSPOSE式を使用できます。VBAにはTRANSPOSE式がないため、WorksheetFunctionクラスで使用する必要があります。

例については、以下のデータ画像をご覧ください。

この値の配列を転置しようとします。以下の手順に従って、データを転置します。

ステップ1:サブプロシージャを開始します

コード:

 Sub Transpose_Example1()End Sub 

ステップ2:まず、データを転置する場所を決定する必要があります。ここでは、セルD1からH2に転置することを選択しました。したがって、VBAコードを範囲(「D1:H2」)として入力します。値=

コード:

 Sub Transpose_Example1()Range( "D1:H2")。Value = End Sub 

ステップ3:上記の範囲で、範囲A1からB5の値が必要になります。この開いている「ワークシート関数」クラスに到達し、「転置」式を選択します。

ステップ4:ではArgの1つの、すなわち供給データソースレンジレンジ(「D5 A1」)

コード:

 Sub Transpose_Example1()Range( "D1:H2")。Value = WorksheetFunction.Transpose(Range( "A1:D5"))End Sub 

OK、TRANSPOSE式のコーディングは完了です。次に、コードを実行して、セルのD1からH2の範囲の結果を確認します。

上の画像を見てきたように、セルの範囲が列から行に変換されています。

#2 –ペースト特殊メソッドを使用したVBA転置

PasteSpecialメソッドを使用して転置することもできます。この例でも同じデータを検討してください。

転置するために最初に行う必要があるのは、データをコピーすることです。したがって、コードをRange(“ A1:B5”)として記述します。コピー

コード:

 Sub Transpose_Example2()Range( "A1:B5")。Copy End Sub 

次は、データをどこに貼り付けるかを決める必要があります。この場合、目的の宛先セルとしてD1を選択しました。

コード:

Sub Transpose_Example2()Range( "A1:B5")。Copy Range( "D1")。エンドサブ

目的の宛先セルを選択したら、「特殊な方法を貼り付ける」を選択する必要があります。

特殊貼り付けを使用すると、ワークシート内の通常の特殊貼り付けメソッドで実行できるすべてのアクションを実行できます。

すべてのパラメーターを無視し、最後のパラメーター、つまりトランスポーズを選択して、これをTRUEにします。

コード:

 Sub Transpose_Example2()Range( "A1:B5")。Copy Range( "D1")。PasteSpecial Transpose:= True End Sub 

これも前の方法のようにデータを転置します。

このように、TRANSPOSE数式またはPaste Specialメソッドを使用してデータを転置し、行を列に、列を行に切り替えることができます。

覚えておくべきこと

  • TRANSPOSEワークシート関数を使用している場合、データを転置するために行と列の数を計算する必要があります。5行3列の場合、転置すると3行5列になります。
  • 特殊貼り付けの使用中に同じ書式設定が必要な場合は、「xlPasteFormats」として貼り付けタイプ引数を使用する必要があります

このVBATranspose Excelテンプレートはここからダウンロードできます– VBA TransposeExcelテンプレート