EXCEL VBA で既存のテーブルにネットワークドライブ上の Workbook からデータを追記する

FileSystemObject と VBA の関係

 前回の記事ではフォルダーから一括してデータを読み込む方法を紹介した.今回は月次の更新ファイルを読み込んで既存のテーブルにデータを追記する方法を紹介する.

 既に読み込んだファイルは拒否したい.監査としてのワークシートが必要だ.リレーショナルデータベースならデータの一意制約から可能だが,EXCEL では自前で作る必要がある.

 色々と挑戦しがいのある課題であった.

“EXCEL VBA で既存のテーブルにネットワークドライブ上の Workbook からデータを追記する” の続きを読む

EXCEL VBA でフォルダ内のブックを開きデータを読み込む

FileSystemObject と VBA の関係

 Power Query が使えないと不便である.先日 EXCEL 2010 の素の環境でフォルダ内のブックをすべて開き,データを読み込む必要があったのだが,Power Query が使えなかったため,VBA でブックを開いて読み込まなければならなかった.備忘録としての記事である.

 この記事はPower Query でフォルダから複数ファイルを一括インポートすると対応している.やっていることは同じだが,.xls 形式だとクエリの検証に時間がかかるため,VBA で読み込んだほうが動作は早いかもしれない.

 フォルダー内のファイル一覧を取得するには FileSystemObject を使う場合と Dir() 関数を使う方法とがある.ここでは FileSystemObject を使うことにする.

 データは Range オブジェクトに格納されているため,Range オブジェクトを取得するのが当面の目標となる.

“EXCEL VBA でフォルダ内のブックを開きデータを読み込む” の続きを読む

1920年から2015年までの都道府県別の5歳階級別人口推移

1920年から2015年までの都道府県別の5歳階級別人口推移

 e-Stat を渉猟していると面白いファイルを見つけた.国勢調査は 1920 年から開始されており, 2020 年 3 月現在では最新の調査結果は 2015 年のものである.20 回分の人口データが一つのファイルにまとめられており,グラフ化するには格好のデータである.

 年齢(5歳階級),男女別-都道府県(大正9年~平成27年)というファイルである.リンク先のページにはファイルが 3 つあるが,最後のものが最も粒度が細かいので,これをグラフ化する.

年齢(5歳階級),男女別人口-都道府県(大正9年~平成27年)
年齢(5歳階級),男女別人口-都道府県(大正9年~平成27年)

“1920年から2015年までの都道府県別の5歳階級別人口推移” の続きを読む

都道府県別の県内総生産額を EXCEL の散布図に描く

都道府県ごとの生産性と総生産額

 人口統計は国の将来を予測する重要な指標であるが,経済の指標である総生産も重要な指標である.これは国の元気さを示す値であり,報道では GDP と称されている.一人あたりの GDP とは生産性のことであり,国民の豊かさを示す値でもある.

 マクロ経済学についてはほぼ素人だが,データを扱うにあたり,都道府県ごとの総生産額と生産性は欠かせない指標と思われたので,調査ついでに公開しよう.

“都道府県別の県内総生産額を EXCEL の散布図に描く” の続きを読む

Ubuntu 上の SQL Server への接続を EXCEL VBA で記録する

 最近はとにもかくにも Power Query である.しかしながら,そのプロセスを VBA で記述したものを見ることが少ない.検索の仕方が悪いだけかも知れないが.

 今回は外部データベースへの接続として Ubuntu 上の SQL Server を選んでみた.今回,Windows 上の SQL Server Management Studio から Ubuntu 上の SQL Server にデータベースを作成し,テーブルを挿入するの記事で作成したデータベースがあったので,これに接続してみることにした.

“Ubuntu 上の SQL Server への接続を EXCEL VBA で記録する” の続きを読む

EXCEL VBA でテーブルのソートを記録する

 EXCEL VBA に至る前の段階としてマクロの記録がある.いわゆる「表モード」をそのまま記録したものである.ソートはこれまで .Add メソッドが中心であったが,最近になって .Add2 メソッドが追加された.それに伴い,引数 Key の Range オブジェクトの記述が若干変わった.

“EXCEL VBA でテーブルのソートを記録する” の続きを読む