縦並びデータ限定ですが、セル範囲から一次元配列を作成可能な Transpose 関数。

執筆者:

カテゴリ:

,

目的

  • 縦並びデータから一次元配列を作成する。
  • Filter 関数の第一引数で使用出来そうな一次元配列を作成する。

その一例

  1. 下記のデータでテストしてみます。
縦並びのデータと横並びのデータ。
縦並びのデータと横並びのデータ。
  • 下記マクロを実行してみます。
    Sub 縦並びデータから配列作成()
    Dim a
    a = WorksheetFunction.Transpose(Range("A1:A3"))
    Debug.Assert False
    End Sub
    1. マクロが中断されました。
  • 一時停止中。
    一時停止中。
  • ローカルウィンドウは以下のようになりました。
  • 一次元配列になっている。
    一次元配列になっている。
  • 上記マクロの「A1:A3」の部分を「A1:C1」に変更して再度実行すると以下のようになりました。
  • 二次元配列になっている。
    二次元配列になっている。
  • Transpose 関数を使用せず、 Range(“A1:A3”) , Range(“A1:C1”) を代入すると以下のようになりました。
  • a = Range("A1:A3") の場合。
    a = Range(“A1:A3”) の場合。
    a = Range("A1:C1") の場合。
    a = Range(“A1:C1”) の場合。

    テスト環境

    • Windows 10(64 ビット)
    • Microsoft Office Excel 2003

    以上、閲覧ありがとうございました。