top of page

​タグ一覧

配列処理(67)

階層化フォーム(33)

ファイル操作(23)

シート・セル操作(11)

コード自動生成(10)

ユーザーフォーム(8)

図形操作(7)

GAS(5)

アニメーション(5)

技術解説(4)

副業(4)

考え方(4)

条件付き書式(4)

イミディエイトウィンドウ(3)

Enum(3)

Googleスプレッドシート(3)

ココナラ(3)

クリップボード(3)

介護(3)

開発効率化(2)

イベントプロシージャ(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Excel(2)

Excel小ネタ(2)

数学(2)

Outlook(2)

文字列操作(2)

小説(2)

HTML(2)

JavaScript(2)

日報(2)

カレンダー(2)

パズル(2)

ステータスバー(1)

コード解析(1)

静的変数(1)

OneDrive(1)

バックアップ(1)

可変長引数配列(1)

ブック処理(1)

スクレイピング(1)

スプレッドシート(1)

coconala(1)

リボン登録マクロ(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

リボン(1)

超勉強会(1)

六角形(1)

Excel遊び(1)

ボウリング(1)

時計(1)

スピログラフ(1)

図名描写(1)

連想配列(1)

イベント(1)

溶接ロボット(1)

VBA(1)

脱Excel(1)

Discord(1)

ECサイト(1)

CSV(1)

楽天(1)

保育士(1)

シフト表(1)

CDP(1)

楽天市場(1)

経理(1)

javascript(1)

医療(1)

文書作成(1)

LookerStudio(1)

シフト(1)

セキュリティ(1)

発注書(1)

ショートカット(1)

WebAPI(1)

色操作(1)

罫線(1)

スーパー開発ショートカット(1)

ライブラリ処理(1)

開発事例(1)

TransposeArray1Dto1N|一次元配列を横方向の二次元配列へ変換(転置) | Excel VBA


TransposeArray1Dto1N|一次元配列を横方向の二次元配列へ変換(転移) | Excel VBA

<概要 (転置)>

 TransposeArray1Dto1N は、一次元配列を「1行×N列(1×N)」の横方向に並んだ二次元配列へ変換(転置)するための汎用プロシージャです。


 Excel VBA には WorksheetFunction.Transpose という標準関数がありますが、

この関数は「縦横を入れ替える」ためのものであり、通常の一次元配列(要素数 N)を変換した場合、

・結果は N×1(縦方向)の二次元配列

となります。


 つまり、一次元配列を

・1×N(横方向)(1行に並んだ形)

の配列へ直接変換することは、標準関数ではできません。


 もし一次元配列を横方向の 1×N 配列として扱いたい場合は、独自に変換処理を用意する必要があります。


 TransposeArray1Dto1N は、その用途に特化して設計された汎用プロシージャで、開始要素番号が 1 の一次元配列を、安全に 1×N の二次元配列へ変換します。


 配列の向きを明示的に制御できるため、他の配列処理系の汎用プロシージャと組み合わせた設計においても配列構造を安定して統一できるのが特徴です。


<実行例>

 実行例のサンプルコードは次の通りです

  

 実行結果のイミディエイトウィンドウは次のようになります。


イミディエイトウィンドウの実行結果
イミディエイトウィンドウの実行結果

 このサンプルでは、DateSerial を用いて2025年1月1日~1月5日の日付を格納した一次元配列(1 To 5)を作成しています。


TransposeArray1Dto1N を実行すると、一次元配列の各要素が左から右へ並び、「1行×5列(1×N)」の二次元配列に変換されます。


即時ウィンドウには、

・行数:1

・列数:5

が表示され、横方向に展開された配列であることが確認できます。


 また、各要素は Date 型のまま保持されており、

値の型変換などが発生していない点も確認できます。


 このように、TransposeArray1Dto1N を使用することで、一次元配列を「横長の配列構造」として明示的に扱えるようになり、配列の向きに依存する処理を安定して実装できます。


<関連コード>

 今回の汎用プロシージャは、下記の別で紹介している汎用プロシージャを使用しています。


<関連記事>

 今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。

 コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。


<コード>


コメント

5つ星のうち0と評価されています。
まだ評価がありません

評価を追加
Softex-Celware

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page