VBA樹林– category –
-
【VBA】Excelの特定シートを自動で印刷するマクロ|Sheet1を印刷
経緯 Excelファイルで定期的に印刷が必要な場面があり、「いちいち印刷設定を開かずに、ワンクリックで印刷できたら便利だ」と思い、VBAでSheet1を自動印刷するマクロを書いてみました。 実行後の仕様 このマクロを実行すると、次のように動作します。 Exc... -
【VBA】Excelで弁当注文を締め切るマクロ|日付を自動ロック
経緯 Excelで管理している弁当の注文ファイルにおいて、「ある時刻になったら、翌日の注文欄を入力できないようにしたい」というニーズがありました。 これまでは手作業でロックしていたのですが、VBAを使って自動的に明日の日付の列を保護するコードを作... -
セルの中が「30」以上になったら、書き込みができないようにしたい
概要 Excel VBAを使って、棚卸をしています。「30g以上になったら、報告する」というルールでしたが、守られておらず、困ったので、 いっそのこと「30gになってたら、記入させない」ということにしました。 Excelの構成 A列に品名B列に数C列にgE1セルにgの... -
Excel VBAで遭遇する一般的なエラーとその対処方法
概要 Excel VBAを使ってプログラムを開発していると、様々なエラーに遭遇することがあります。この記事では、実際に経験したエラーについて、原因とエラーの説明、対処方法を紹介します。 実行時エラー 1004: Copyメソッド の失敗 原因とエラーの説明: こ... -
ExcelからPowerPointへグラフと表を貼り付けるVBAマクロの作成
概要 Excelに貼ってあるグラフや表をパワーポイントに展開したくて、今回やってみました。 全体のコード 以下は、ExcelからPowerPointへグラフと表を貼り付けるVBAコードです。 Sub ExportChartsAndTableToPowerPoint() ' PowerPointを操作するためのオブ... -
キーボードの「F9」をしたら、セルの色が黄色。「F10」を押したら、セルの色が赤【VBA】
経緯 以前、「あるセルの範囲で”F9”キーを押したら、コードが動く」というのを作りました。 今回は、”F9”、”F10”キー両方できないかやってみました。 仕様 セルS1:S3にカーソルがあって、”F9”キーを押したら、セルの色が黄色に変わる。”F10”キーを押したら... -
あるセルの範囲にいて、キーボードの「F9」をしたら、指定したセルに飛ぶ【VBA】
経緯 同僚から、 「F9からF16セルの間にカーソルがあって、なにかキーボードを押したら、”J7”にカーソルが飛ぶ」 という仕様にできないかと依頼があり今回やってみました。 コード では、コードです。 シートのコードモジュール(Sheet1など): Private Su... -
【PowerPoint】パワポに.bmpファイルの画像を貼りたい。【VBA】
経緯 PowerPointのVBAでプログラムを書いています。 .bmpの画像をいちいち切り取りソフトで画像を切り取りは貼ってを繰り返していたので、 これを自動化できないか、今回やってみました。 仕様 プログラムを走らせると、ダイアログが出てきて、画像が入っ... -
【VBA】CSVファイルをExcelに読み込むマクロ|コピペ不要の自動化
経緯 これまでCSVファイルの内容をExcelに貼り付ける際、手作業でコピペしていたのですが、毎回繰り返すのが手間に感じていたため、VBAでCSVファイルを直接読み込むマクロを作成しました。 特に、CSV形式で出力されるデータベースファイルを取り扱う場面で... -
【PowerPoint】パワポのタグからマクロを実行したい。【VBA】
経緯 PowerPointのVBAでプログラムを書いています。 ユーザーフォームをつくったのですが、図形でボタン作るものださいし、 「ホームタグあるあたり(ヘッダーあたり)に追加できないかな?」 と思い、今回やってみました。 Custom UI Editor Toolを使う Cus... -
【PowerPoint】パワポのスライドにある各図形の名前と種類を表示するメッセージボックスを表示【VBA】
経緯 PowerPointのVBAでプログラムを書いています。 「各図形の名前と種類を表示するメッセージボックスを表示したい」 と思い、今回やってみました。 コード では、コードです。 Private Sub CommandButton_run_Click() ' スライド1を取得 Dim pptSlide A... -
【PowerPoint VBA】エクセルファイルを開いて、グラフの一覧を取得する方法
経緯 PowerPointで自動化を行うためにVBAを使っていた際、「外部のExcelファイルを開き、その中にあるグラフの一覧を取得したい」という要望が出てきました。 そこで、PowerPoint VBAからExcelを操作して、全てのシートからグラフを収集するコードを作成し... -
【PowerPoint VBA】ユーザーフォームでエクセルファイル選択ダイアログを開く方法
経緯 PowerPointのVBAでツールを作っている中で、**「ユーザーフォームを使って、Excelファイルを選択するダイアログを開きたい」**というニーズがありました。 たとえば、ユーザーにファイルパスを直接入力させるのではなく、ファイルダイアログで選択し... -
【Excel VBA】散布図の線の色を変更する|ボタンとカラーパレットで直感操作
経緯 Excel VBAで複数のグラフを扱っている中で、**「特定の系列だけ線の色を変えたい」**という場面がありました。とくに、グラフが多くなってくると、マウス操作で色を変えるのは非効率です。 そこで今回は、VBAで「セルの値に該当する系列名の線だけ色... -
【Excel VBA】散布図の線の太さを指定セルの数値で変更する方法
経緯 Excelで複数の散布図を使ってデータを可視化している中で、**「グラフの線の太さを動的に変えられたら便利なのに」**と思うことがありました。 マウスで個別に線の太さを変更するのは手間がかかるため、VBAで一括制御できる仕組みを作ってみました。 ... -
【Excel VBA】複数のグラフのX軸を一括で変更する方法|時間軸の手動調整を自動化
概要 Excelでデータを可視化する際に、複数のグラフを使って時間変化を表現している方も多いのではないでしょうか。 しかし、X軸が「時間軸」の場合、期間の変更や区切りの調整が必要になるたびに、すべてのグラフを手動で設定し直すのは非常に手間です。 ... -
【VBA】セルを選択したらCSVファイルを開くマクロ|G列の選択でE列のファイル名と連動
概要 Excelで作業していると、特定のセルを選択したときに、自動で関連ファイルを開きたくなる場面がありますよね。今回は、「G2〜G100のセルにカーソルを合わせたときに、対応するCSVファイルを自動で開くVBAマクロ」をご紹介します。 CSVファイルは指定... -
【VBA】セルを選択すると自動でプログラムが実行されるマクロ|G列選択時に処理を開始
概要 Excelで作業をしているときに、特定のセルを選択したら自動でマクロを実行したいと思ったことはありませんか? 本記事では、「G2からG100までのセルにカーソルを合わせると、自動でプログラムが走る」というVBAマクロの作り方をご紹介いたします。 特... -
【VBA】Excelで「複製」ボタンを作ってシートを簡単コピーする方法
経緯 Excelで作業していると、既存のシートをコピーして再利用したい場面がよくあります。これまではシートのタブを右クリックして「移動またはコピー」を選び、手動で複製していましたが、この作業が面倒に感じたため、VBAで自動化できないかを検討しまし... -
【VBA】Enterを押したら指定したセルに自動で移動させる方法
経緯 Excelで複数の入力項目が点在している場合、セルを行き来する操作が面倒になることがあります。私の場合、入力するセルが「A1」「C4」「F3」などバラバラに配置されており、毎回マウスや矢印キーで移動するのが手間に感じていました。 そこで今回は、... -
【VBA】指定したセルの文字を一括で削除する方法|ボタンで初期化処理
経緯 Excelで作業していると、入力済みのセルをまとめて初期化したい場面があると思います。私自身、VBAでツールを作っている際に「ボタンを押したら特定のセルだけ文字を消したい」と思い、今回VBAで実装してみました。 実現したい仕様 A1セルの値を削除 ... -
【VBA】ボタンを押したらユーザーフォームが表示される仕組みを作る方法
経緯 Excelでツールを作成する際、ユーザーからの入力や操作を簡単にしたいと思うことがあります。そのため、私はユーザーフォームを活用してプログラムを組んでいるのですが、完成したユーザーフォームをExcelシート上のボタンから呼び出せるようにしたい... -
【VBA】ユーザーフォームで入力した値を履歴として記録する方法|日時も自動保存
経緯 ExcelでVBAを使ってユーザーフォームを作成している中で、**「フォームで入力した内容を記録として残したい」**という場面がありました。 たとえば、誰かがフォームを使って何かを登録した際に、 いつ登録されたのか どんな内容が入力されたのか を履... -
【VBA】プログラム実行後にユーザーフォームを自動で閉じる方法|Unload Meの使い方
経緯 Excelでユーザーフォームを使ってツールを作成している中で、プログラムを実行したあともフォームが画面に残ったままになるのが気になっていました。 見た目としても気になりますし、処理が完了したことを明確に示すためにも、フォームは閉じたいと思... -
【VBA】ランダムでセルに値を入力する方法|指定した範囲からランダム選択
経緯 VBAでツールを作っている中で、**「セルの中からランダムで1つ選んで、そこに値を入れたい」**と思う場面がありました。座席表や、ランダムな割り当て処理に応用できそうだと感じたため、実際にコードを書いてみました。 今回は、複数のセルの中から1... -
【VBA】ThisWorkbookで複数シート共通の処理をまとめる方法|Sheetごとに書かずに済む構成
経緯 ExcelでVBAのプログラムを作っている中で、複数のシートに同じコードを繰り返し書いていたことに不便さを感じていました。 コードが重複してメンテナンス性が悪い 仕様変更のたびにすべてのシートにあるコードを修正する必要がある シート間で同じ挙... -
【VBA】値を入力したらカーソルを右(横方向)に自動で移動させる方法
経緯 通常、Excelでセルに値を入力してEnterキーを押すと、カーソルは下方向(縦)に移動します。しかし、列ごとに順番に入力していきたい場面では、横方向にカーソルが動いた方が効率的なケースもあります。 そこで今回は、セルに値を入力したあと、自動... -
【VBA × Outlook】申請書を自動でメール送信する方法|Excelファイルを添付して一発送信
経緯 Excelで申請書を作成した後、そのままOutlookでメールに添付して送信する作業を毎回手作業で行っていました。宛先や本文もほぼ毎回同じだったため、**「VBAで自動化できないか?」**と思い、実装してみました。 今回の構成では、L1セルを選択するだけ... -
【VBA】誰がファイルを開いているかを検出する方法|共有ファイルの競合防止策
経緯 共有サーバー上でExcelファイルを複数人で使用していると、誰が開いているのか分からないまま、別の人が編集を始めてしまい、上書きや不具合が起きることがあります。 たとえば、「森さんが先に開いているのに、林さんがあとから開いて編集を始めてし... -
【VBA】指定シート上のグラフをすべて削除する方法|ChartObjectsの操作
経緯 Excelシート上に複数のグラフを作成していると、一括でグラフを削除したい場面が出てきます。 私の場合、ダッシュボードとして活用しているシートにグラフが多数配置されており、すべてのグラフを手動で削除するのが面倒だったため、VBAで一括削除す...