VBA樹林– category –
-
【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で一括削除す... -
【VBA】ボタンを押すとグラフが展開されるダッシュボードを作る方法
Excelで視覚的に情報をまとめたいとき、「ボタンを押すとグラフが展開されるようなダッシュボード」があると便利です。今回は、VBAを使って「ダッシュボードのボタンを押すと、別のシートにあるグラフを指定の位置に展開する仕組み」を構築しましたので、... -
【パワークエリ×VBA】”F2″+”Enter”を全セルに自動適用するマクロの作り方
Power Queryでデータを取り込んだ際に、セルの値が意図したデータ型にならないことがあります。たとえば、数値や日付として認識されず、期待した計算や表示ができないといった現象です。 私の場合、「手動でセルをダブルクリックしEnterを押す(=F2+Ente... -
【パワークエリ×VBA】「すべての更新」操作をボタン化する方法
ExcelでPower Queryを使ってデータを取り込んでいると、「データ」タブから**[すべての更新]ボタンを毎回クリックするのが面倒**に感じることがあります。 そこで今回は、VBAを使って[すべての更新]をボタン1つで実行できるマクロを作成し、作業効率を改善... -
【VBA】外部のExcelファイルをバックグラウンドで開く方法|ScreenUpdatingを活用
Excel VBAで外部のExcelファイルを開く処理を実装すると、画面いっぱいに対象ファイルが表示されて邪魔になることがあります。今回は、ファイルをバックグラウンドで開いて画面更新を抑制する方法を学びましたので、その手順とコードをご紹介いたします。 ... -
【VBA】ランダムに名前を選んでセルに配置する方法|重複なしで自動振り分け
Excel VBAを活用すると、指定した名前リストからランダムに抽出し、セルに自動で配置する処理が簡単に実現できます。本記事では、重複のないランダムな名前の抽出とセル配置の手順について、VBAコードとあわせてご紹介いたします。 実現したいこと 名前リ... -
エクセルVBAで外部ファイルからデータをランダムに取得する方法【VBA】
経緯 エクセルのVBA(Visual Basic for Applications)は、日々の作業を効率化するための強力なツールです。今回は、外部のエクセルファイルからランダムにデータを取得し、現在の作業中のシートにそのデータを反映させる方法を紹介します。この技術は、大... -
【VBA】指定したセルの隣にデータベースからランダムな値を自動入力する方法
ExcelのVBAを使えば、データベースとして設定したセル範囲からランダムに値を抽出して、自動で指定セルの隣に入力する処理が簡単に実現できます。今回は、A1:A100の範囲をデータベースと見立て、そこからランダムに1件を取得し、アクティブセルの右隣に出... -
【VBA】PowerPointに貼り付けたExcelグラフを任意の位置に配置する方法
PowerPointのプレゼン資料にExcelのグラフを貼り付ける際、グラフの配置位置をVBAで自由に制御したいという場面があります。今回は、VBAを使ってPowerPointに貼り付けたグラフをスライド上の任意の座標に配置する方法を学びましたので、実際のコードとあわ... -
【VBA】PowerPointにExcelグラフを「図」として貼り付ける方法|PasteSpecialの活用
Excel VBAを使って、ExcelグラフをPowerPointに貼り付ける際、編集可能なグラフではなく、「図(画像)」として貼り付けたいことはありませんか?今回は、VBAを使って PowerPointのスライドにExcelグラフを「図形(PNG画像)」として貼り付ける方法を学び... -
【VBA】PowerPointに貼り付けたExcelグラフのサイズを自動で変更する方法|cm単位で調整
PowerPointに貼り付けたExcelグラフのサイズを、VBAでピンポイントに調整したいというケースは少なくありません。今回は、Excel VBAを使って、グラフを「図として貼り付けた後」にサイズを cm 指定で変更する方法を実装しましたので、実際のコードとあわせ... -
【VBA】Excelで作成したグラフをPowerPointに自動で貼り付ける方法
Excelで作成したグラフをPowerPointの資料に貼り付けたいとき、毎回手作業でコピー&ペーストするのは手間ですよね。今回は、VBAを使ってExcelからPowerPointへグラフを自動で貼り付ける方法を学びましたので、実際のコードと手順をご紹介いたします。 実... -
【VBA】列ごとの処理をループで簡潔に!複数列への数式コピーを短く書く方法
Excel VBAで同じような処理が続くと、コードが非常に長くなり、管理や修正が大変になることがあります。今回は、「複数の列に同じ処理(数式コピー)を行うコード」をループで簡潔に書き直す方法をご紹介いたします。 実現したいこと 複数の列(AH列~BQ列... -
【VBA】図形にカウントダウンタイマーを表示する方法|Excelで作れる簡易タイマー
Excel VBAを使えば、ワークシート上の図形にカウントダウンタイマーを表示することができます。今回は、図形に「残り時間:00:00:00」と表示させて、リアルタイムで1秒ずつカウントダウンされる仕組みを作成してみました。 実現したいこと Excelワークシー... -
【VBA】Wordのテーブルに名前リストを自動で羅列する方法|2列目に繰り返し挿入
Wordで作成した日付と担当者の表に、指定した名前リストを自動で割り当てる処理をVBAで作ってみました。毎回同じような名前を手入力していた作業を、一発で自動化できる便利なコードをご紹介いたします。 実現したいこと Wordのテーブルの担当者列(2列目... -
【VBA】Wordテーブル内で今日以前の日付行を削除する方法|期限切れの行を自動で整理
Wordで日付付きのテーブルを使っていると、「すでに過ぎた日付の行を削除したい」というケースがありますよね。今回は、WordのVBAを使って、今日より前の日付が記載された行を自動で削除するコードをご紹介いたします。 実現したいこと Wordの表(テーブル... -
【VBA】Word文書の2行目に今日の日付を自動で記入する方法|「更新日」を右寄せで挿入
Wordで書類を作成している際、「更新日」などの日付を毎回手入力するのが面倒だと感じたことはありませんか?今回は、Word VBAを使って文書の2行目に今日の日付を「更新日 2024年5月1日」の形式で自動記入する方法をご紹介いたします。 実現したいこと Wor... -
【VBA】Split関数で”_”区切りの文字列を分割して値を取得する方法|ファイル名やコードに便利
VBAでファイル名やIDなどのアンダースコア("_")で区切られた文字列から、特定の要素を抽出したいと思ったことはありませんか?今回は、VBAのSplit()関数を使って、文字列を"_"で分割し、目的の部分だけを取り出す方法をご紹介いたします。 実現したいこ...