VBA樹林– category –
-
【Excel VBA】ワークシートをテンプレートとしてHTMLレポートを自動生成する方法
VBAで複雑なHTMLレポートを作成する際、すべてのHTMLコードをVBAのコード内に文字列として記述するのは、非常に非効率でメンテナンスも困難です。 そこで今回は、HTMLの骨格を別のワークシートに「テンプレート」として記述しておき、VBAでそのテンプレー... -
【Excel VBA】Excelのセル範囲をHTMLのに変換する関数
Excelの表データを、WebページやHTMLメールで表示するための<table>タグに変換したい、というニーズは非常に多くあります。しかし、Forループで"<tr>"や"<td>"といったタグを文字列として連結していく方法は、コードが煩雑になりがちで... -
【Excel VBA】HTMLを自在に生成する「万能関数」の作り方 (Optional引数)
これまでの記事で、「特殊文字のエスケープ」「タグで囲む」「属性の追加」といった、HTML生成のための部品となる関数を個別に作成してきました。 今回はその集大成として、これらの部品をすべて内包し、引数の与え方によって様々なパターンのHTML要素を1... -
【Excel VBA】ハイパーリンク(aタグ)を動的に作成する自作関数
VBAでHTMLを生成する際、単なるテキストだけでなく、クリック可能なハイパーリンク(<a>タグ)を作成したい場面は頻繁にあります。ハイパーリンクは、<a href="リンク先URL">表示テキスト</a>のように、hrefという属性を持つのが特徴で... -
【Excel VBA】動的なタグ名でHTML要素を作成する自作関数
VBAでHTMLを生成する際、あるセルは<h1>タグで、別のセルは<p>タグで囲みたい、というように、内容に応じてHTMLタグを動的に変更したい場合があります。 この記事では、指定した文字列を、指定したタグ名で囲むシンプルな自作関数と、それを前... -
【Excel VBA】HTMLの特殊文字をエスケープ処理する最強の関数
Excelのセルに入力されたテキストをVBAでHTMLファイルに出力する際、> や <、& といった文字がセルに含まれていると、HTMLのタグと誤認されてしまい、表示が崩れる「文字化け」ならぬ「タグ化け」が起きてしまいます。 これを防ぐには、これらの... -
【Excel VBA】HTMLファイルを作成し、UTF-8で書き出す基本の方法
Excelで管理しているデータを、簡易的なWebページやHTML形式のレポートとして出力したい、という場合があります。VBAを使えば、HTMLタグを文字列として組み立て、.htmlファイルとして保存することが可能です。 この記事では、ADODB.Streamオブジェクトを利... -
【Excel VBA】Accessへのデータ登録で使うトランザクション処理 (Commit/Rollback)
ExcelからAccessへ大量のデータをインポートする際、「もし処理の途中でエラーが発生したらどうなるのか?」と考えたことはありますか?通常、エラーが起きた時点で処理は中断され、データが中途半端に登録された「壊れた」状態になってしまいます。 この... -
【Excel VBA】Accessに対しSQLコマンド(UPDATE/INSERT)を実行する方法
VBAでAccessデータベースを操作する際、一件ずつレコードを処理するのではなく、「条件に合う全てのレコードを一度に更新したい」または「新しいレコードを一件、SQLで直接追加したい」という場合があります。 このようなデータ操作には、SQL言語で記述し... -
【Excel VBA】Accessデータベースに新規レコードを追加する方法 (DAO)
Excelで日々のデータを入力・集計し、その結果をマスターデータが保管されているAccessのデータベースに登録したい、という運用は非常に一般的です。VBAを使えば、Excelから直接Accessデータベースに接続し、新しいデータ(レコード)を追加する処理を自動... -
【Excel VBA】PowerPointの図形に合わせてExcelグラフを貼り付ける方法
VBAでPowerPoint資料を自動作成する際、グラフなどを「常にスライドの決まった位置に、決まったサイズで」貼り付けたいと思うことは多いでしょう。座標を数値で指定するのは微調整が大変です。 この記事では、より直感的で高精度な方法として、PowerPoint... -
【Excel VBA】Excelの表をPowerPointに貼り付け、サイズと位置を調整する方法
Excelで作成した表をPowerPointのスライドに貼り付ける作業は、レポート作成などで頻繁に発生します。VBAを使えば、このコピー&ペーストのプロセスを自動化できるだけでなく、貼り付けた表のサイズやスライド上の位置を正確に指定することまで可能です。 ... -
【Excel VBA】PowerPointプレゼンテーションを自動作成する方法
Excelで分析したデータやグラフを使って、定期的にPowerPointで報告資料を作成する、といった作業は多くのビジネスシーンで発生します。VBAを使えば、こうしたPowerPointのプレゼンテーション作成も自動化することが可能です。 この記事では、Excel VBAか... -
【Excel VBA】Word文書の特定の場所にExcelのグラフを貼り付ける方法
定型の報告書を作成する際、「この見出しのすぐ下に、今月の売上グラフを貼り付けたい」というように、文書内の決まった位置にExcelのグラフを挿入したいケースは頻繁にあります。 VBAを使えば、あらかじめWord文書に用意しておいた**「目印(プレースホル... -
【Excel VBA】既存のWord文書の末尾にデータを追記する方法
月次レポートや業務日誌など、既存のWord文書に新しい情報をどんどん付け加えていきたい、というケースはよくあります。VBAを使えば、既存文書を開いて、現在の内容を保持したまま末尾に新しいテキストや表を追加する、といった処理を自動化できます。 こ... -
【Excel VBA】Word文書の書式を自動設定する方法(スタイル・配置)
VBAを使ってExcelからWord文書を作成する際、データをただ貼り付けるだけでなく、見出しのスタイルを適用したり、中央揃えにしたりと、体裁まで整えたいと思うことは多いでしょう。 VBAを使えば、そうしたWordの書式設定も完全に自動化できます。この記事... -
【Excel VBA】ExcelのデータをWord文書に書き出し、表として貼り付ける方法
Excelで管理しているデータを、テキストと表を組み合わせた体裁の整ったWord文書として出力したい、というニーズは非常に多いです。VBAを使えば、単にテキストを書き出すだけでなく、セル範囲をそのままWordの表として貼り付ける、といった高度な操作も自... -
【Excel VBA】Word文書を自動作成して文字を入力・保存する方法
Excelで集計したデータを元に、Wordで報告書や送付状を自動作成したい、と考えたことはありませんか? ExcelのVBAを使えば、Wordアプリケーションを裏で操作し、文書の作成から文字の入力、保存までを全自動で行うことが可能です。 この記事では、VBAでWor... -
【Excel VBA】Excelの表データをXMLツリー構造で出力する方法
Excelで管理している表形式のデータを、システム連携などで使われる階層構造のXMLファイルとして出力したい、という場面は非常に多くあります。 手作業での変換は困難ですが、VBAを使えばこのプロセスを自動化できます。この記事では、Excelのセル範囲を読... -
【Excel VBA】XMLの要素に属性(Attribute)を追加する方法
VBAでXMLを生成する際、<item>商品A</item>のような単純な要素だけでなく、<item id="A-001">商品A</item>のように、要素の開始タグ内に属性を追加して、IDや分類などのメタデータを格納したい場合があります。 この記事では、VBA... -
【Excel VBA】セル内の改行を除去してXML要素を作成する方法
Excelのセルに入力されたデータをVBAでXMLファイルに出力する際、セル内に含まれる改行コードが原因で、意図しないXMLが生成されてしまうことがあります。 この記事では、セルから取得した値の改行コードをReplace関数で除去し、クリーンなデータにしてか... -
【Excel VBA】XML宣言を持つ空のXMLファイルを作成する方法
VBAを使って外部システムと連携するためのデータを作成する際など、XMLファイルをゼロから生成したい場合があります。整形式のXMLドキュメントを作成する上での第一歩は、ファイルの先頭に「XML宣言」を記述することです。 この記事では、VBAでMSXML2.DOMD... -
【Excel VBA】文字化け知らず!UTF-8でCSVファイルを出力する方法(ADODB.Stream)
Excel VBAで作成したCSVファイルをWebシステムにアップロードしたり、異なるOSのPCで開いたりした際に、文字が「???」のように表示される**「文字化け」**に悩まされた経験はありませんか? これは、Excelが標準で出力するCSVの文字コード(Shift_JISなど... -
【Excel VBA】既存のテキストファイルにデータを追記する方法 (Appendモード)
VBAでファイルを作成する際、毎回新しいファイルとして上書きするのではなく、「既存のファイルに新しいデータをどんどん付け加えていきたい」という場合があります。典型的な例が、操作ログやデータ収集の記録です。 この記事では、VBAでファイルを**「追... -
【Excel VBA】Format関数を使い、列ごとに自由な書式でテキスト出力する方法
Excelデータをテキストファイルに出力する際、単にセルの値をそのまま書き出すだけでは不十分な場合があります。「商品IDを5桁のゼロ埋めにしたい」「日付を『令和〇年〇月〇日』の形式にしたい」「数値を3桁区切りにしたい」など、列ごとに異なるフォーマ... -
【Excel VBA】セルの書式や表示形式を維持したままCSV出力する方法(.Textプロパティ)
ExcelのデータをVBAでCSVファイルに出力する際、「日付が意図しないシリアル値になった」「"¥"マークや桁区切りカンマが消えてしまった」といった経験はありませんか? これは、VBAがセルの「中身の値(Value)」を読み取っているために起こる現象です。 こ... -
【Excel VBA】自由な形式でテキストファイルに書き込む方法 (Open, Print #)
Excelのセル範囲をそのままCSVやテキストとして出力するだけでなく、VBAを使って完全に自由なフォーマットでテキストファイルを作成したい、という場面があります。例えば、独自のログファイルを作成したり、特定のシステムが要求する特殊な形式のデータフ... -
【Excel VBA】指定範囲をテキストファイルに書き出す方法(タブ区切り)
Excelのデータを他のシステムにインポートする際など、特定の範囲を「タブ区切り」のテキストファイル(.txt)形式で出力したいというニーズは少なくありません。 毎回手作業でコピーして、メモ帳に貼り付けて保存…といった作業は、手間がかかる上にミスも... -
【Excel VBA】指定したセル範囲のデータをCSVファイルとして簡単に出力する方法
Excelでのデータ管理や集計作業において、特定の範囲だけをCSVファイルとして保存したい場面は少なくありません。しかし、毎回手作業で範囲を選択し、新しいブックにコピーしてCSV形式で保存するのは手間がかかります。 この記事では、Excel VBAマクロを使... -
【Excel VBA】図形(シェイプ)を画像ファイル(PNG/JPG)として保存する方法
Excelで作成した図形やフローチャートを、プレゼン資料やWebサイトで使いたいと思ったことはありませんか?手作業でスクリーンショットを撮ってトリミングするのは少し面倒です。VBAを使えば、特定のシェイプだけを高品質な画像ファイルとして、好きな場所...