-
【Excel VBA】新規ブックを追加し、オブジェクト変数で確実に操作する方法
VBAでデータを集計し、その結果を新しいブックにまとめて保存する、といった処理は非常に一般的です。このとき、「Workbooks.Addで新しいブックを作ったはいいが、そのブックをどうやって正確に操作すれば良いのか?」という問題に直面することがあります... -
【Excel VBA】複数のExcelブックを切り替えて操作する2つの方法
VBAで複数のExcelファイル(ブック)にまたがる処理、例えば「データブックから集計ブックへ値をコピーする」といったマクロを作成する際には、操作の対象となるブックを正確に切り替える必要があります。 VBAで特定のブックをアクティブにする(最前面に... -
【Excel VBA】シート上の全グラフを個別の画像ファイルとして一括保存する方法
Excelで作成した複数のグラフを、PowerPointの資料やWebサイトで使いたい場合、一つずつ右クリックして「図として保存」を繰り返すのは非常に手間がかかります。 VBAを使えば、シート上にあるすべてのグラフを、それぞれのグラフタイトルをファイル名とし... -
【Excel VBA】シートをPDFファイルとして出力(エクスポート)する方法
作成したExcelの資料を、他の人に共有したり、証憑として保存したりする際には、レイアウトが崩れず、誰でも開けるPDF形式に変換するのが一般的です。手作業でもPDF化は可能ですが、VBAを使えばこの操作をボタン一つで自動化できます。 この記事では、VBA... -
【Excel VBA】特定の条件を満たさないと印刷できないように制限する方法 (BeforePrintイベント)
「承認者の名前が入力されていないと印刷させたくない」「特定の日付が入力されるまで、このシートは印刷禁止にしたい」など、Excelファイルに特定のルールを設け、それを満たさない限り印刷できないように制御したい、というニーズは少なくありません。 V... -
【Excel VBA】印刷設定の処理を高速化する鉄板テクニック (PrintCommunication)
印刷範囲や用紙の向き、余白など、VBAでPageSetupに関する設定を変更するマクロを実行した際に、「処理が思ったより遅い…」と感じたことはありませんか?特に、ネットワーク上のプリンターを使っているとその遅さは顕著になります。 実はその原因、VBAが印... -
【Excel VBA】印刷するプリンターを選択・切り替える2つの方法
VBAで印刷処理を自動化する際、社内に複数のプリンターがあったり、PDFとして出力したりと、状況に応じて出力先を切り替えたい場合があります。 VBAを使えば、「マクロ実行時にユーザーがプリンターを選べるようにする」ことや、「特定のプリンターに固定... -
【Excel VBA】行番号・列番号や枠線を含めてシートを印刷する方法
Excelのシートを印刷する際、分析やレビューのために「A, B, C...」といった列番号や「1, 2, 3...」の行番号、またセルの区切りを示す薄い灰色の枠線(グリッド線)も一緒に印刷したい、という場合があります。 これらの設定は通常、「ページレイアウト」... -
【Excel VBA】印刷総ページ数を取得する方法と改ページの点線を非表示にする方法
Excelで作成した資料を印刷する前に「全部で何ページになるか」をマクロで取得したり、編集作業中に表示される「改ページの点線が煩わしい」と感じたりすることはありませんか? VBAを使えば、これらの情報を簡単に取得・操作することが可能です。この記事... -
【Excel VBA】印刷時の改ページ位置を一定間隔で自動設定する方法
大量のデータが入力されたExcelシートを印刷すると、意図しない場所で改ページされてしまい、表の途中で切れて見づらくなってしまうことはありませんか? 手作業で一つずつ改ページを設定するのは、データ量が多いと非常に手間がかかります。 VBAを使えば... -
【Excel VBA】印刷時のヘッダー・フッターを自由自在に設定する方法
Excelで作成した帳票やレポートを印刷する際、各ページに「文書のタイトル」「日付」「ページ番号」「ファイル名」などを記載するヘッダーやフッターは欠かせません。これらの設定を手作業で行うのは手間がかかりますが、VBAを使えば定型的な設定をすべて... -
【Excel VBA】印刷を自動化する4つの基本パターン(シート・ブック・範囲指定)
定型的なレポートや資料を作成する際、毎回同じシートやセル範囲を選択して印刷するのは手間がかかります。VBAを使えば、「印刷」ボタン一つで、決まった対象を、決まった設定で印刷する処理を自動化し、作業効率を大幅に向上させることができます。 この... -
【Excel VBA】Excelのセル範囲をJSON形式に変換して出力する方法
Web APIとの連携や、最新のWebアプリケーションでデータをやり取りする際、**JSON(JavaScript Object Notation)**形式のデータが標準的に使われます。Excelで管理しているデータを、このJSON形式に変換して出力したい、というニーズは年々高まっています... -
【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の表として貼り付ける、といった高度な操作も自...