top of page

​タグ一覧

配列処理(75)

階層化フォーム(33)

シート・セル操作(30)

ファイル操作(29)

開発事例(26)

図形操作(18)

設計思想(13)

講座実施報告(12)

開発効率化(10)

ユーザーフォーム(10)

コード自動生成(10)

ココナラ(9)

数学(8)

文字列操作(8)

GAS(7)

Webアプリ(6)

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

副業(5)

アニメーション(5)

技術解説(4)

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

OneDrive(4)

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

クリップボード(4)

条件付き書式(4)

その他(4)

介護・福祉(4)

小説(3)

HTML(3)

JavaScript(3)

Enum(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Outlook(2)

Discord(2)

シフト表(2)

LookerStudio(2)

日報(2)

カレンダー(2)

公開ツール(2)

パズル(2)

小ネタ(2)

コード解説(2)

クラスモジュール(2)

Antigravity(2)

デスクトップアプリ(2)

スクレイピング(1)

スプレッドシート(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

超勉強会(1)

溶接ロボット(1)

楽天市場(1)

経理(1)

医療(1)

文書作成(1)

発注書(1)

WebAPI(1)

学校(1)

CAD(1)

PowerShell(1)

python(1)

Transpose1NtoArray1D|1×N配列を安全に一次元配列へ変換(転置) | Excel VBA

Transpose1NtoArray1D|1×N配列を安全に一次元配列へ変換(転移) | Excel VBA

<概要 (転置)>

 Transpose1NtoArray1Dは、1×N(横一行)の二次元配列を一次元配列へ安全に変換(転置)するためのExcel VBA用汎用プロシージャです。


 WorksheetFunction.Transposeでは日付型が文字列に変換されてしまう問題がありますが、本プロシージャではVariant配列を直接処理するため、日付型・数値型・文字列型・オブジェクト型をそのまま保持した状態で一次元配列に変換できます。


 Excel VBA 配列操作において、Range.Value から取得した1×N配列を後続処理で扱いやすい形に整形したい場面で特に有効です。


<実行例>

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

  

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


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

 1×5の二次元配列として用意した日付データが、一次元配列(1〜5)として順番を保ったまま変換(転移)されていることが確認できます。


 WorksheetFunction.Transposeを使用した場合に発生しがちな日付型→文字列型への変換は行われず、Date型のまま保持されている点が本プロシージャの特徴です。


<関連コード>

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


<関連記事>

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

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


<コード>


Excel VBAによる業務自動化・ツール開発をご検討の方へ

​"脱Excel"の前に、現状のExcelの潜在能力を120%発揮してみませんか?

softex-celwareロゴ 透過 横長.png

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

  • Facebook
  • Twitter
  • YouTube

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

bottom of page