VBA– tag –
-
VBA樹林
【VBA】セルに値を入力したら、1つ列を飛ばしたセルに自動で移動する方法|入力効率を高めるテクニック
経緯 Excelでの入力作業の中で、「値を入力したあと、隣の隣(1列飛ばし)に自動でセルを移動したい」という要望を受けました。これを実現することで、マウス操作なしで素早く連続入力ができ、作業効率が向上します。 そこで、今回VBAを使って入力セルの自... -
VBA樹林
【VBA】VBAでも例外処理は可能?On Errorステートメントで安全なコードを書く方法
経緯 Excel VBAでマクロを組んでいると、予期しないエラーが発生することがあります。C#などで使える try-catch のような例外処理構文が、VBAにもあるのか気になり、今回調べてみました。 結論から言うと、VBAでは On Error ステートメントを使うことで、... -
VBA樹林
【VBA×タスクスケジューラ】Excelファイルのバックアップを自動で取得する方法
経緯 Excelで作業していると、誤って保存してしまったり、ファイルが破損するといった事態は誰にでも起こり得ます。そのようなトラブルに備えて、定期的にバックアップファイルを自動作成したいと思い、今回VBAとタスクスケジューラを組み合わせた方法を学... -
VBA樹林
【VBA】ExcelファイルをPDFに変換する方法|ExportAsFixedFormatの活用
はじめに Excelで作成した資料をPDF化したい場面は非常に多くあります。特に業務で複数のExcelファイルを一括でPDF化する処理を自動化できると、大きな時短になります。 私自身、「フォルダ内のすべてのExcelファイルをPDFに変換したい」というニーズがあ... -
VBA樹林
【VBA】Callステートメントで取得した変数を他のモジュールでも使う方法|グローバル変数の活用
経緯 Excel VBAで複数のモジュールを使ってコードを整理していたところ、「Module1で取得した変数を、Module2の処理でも使いたい」という場面がありました。 具体的には、Callステートメントを使って別のサブルーチンを呼び出し、そこで代入された値を、呼... -
VBA樹林
セルに文字を入力したら自動で行が追加される方法【Excel VBA】
はじめに Excelで重複データを処理していると、「下の方の値を優先して取得したい」と思う場面があります。私も以前、MATCH関数やINDEX関数を使って値を取得していましたが、どちらも上にある値が優先されてしまうため、意図したデータを取得できませんで... -
VBA樹林
VBAで列の一番下のセルの行番号を取得する方法【.End(xlUp)の使い方】
はじめに ExcelでVBAを使って作業を自動化していると、特定の列で最後に入力されているセルの行番号を取得したい場面があります。私の場合は、「B列の中で最後に値が入力されている行を取得したい」と思い、その方法を調べて実装してみました。 結論から言... -
VBA樹林
セルに文字を入力したら自動でプログラムが動く仕組み【VBA × Worksheet_Change】
はじめに ExcelでVBAを使って自動化をしていると、「セルに値を入力したら、何かの処理が自動で実行されるようにしたい」というニーズはよくあります。私の場合は、B列に文字が入力されたら、自動的に日付を入力するような処理をしたくて、その方法を調べ... -
VBA樹林
セルを下から上に向かって検索する方法【VBA × Step -1】
はじめに ExcelでVBAを使って作業をしていると、「セルの内容を下から上に向かって検索したい」という場面があります。たとえば、「A列にたくさんの名前が並んでいて、その中で一番下にある“森”という苗字を探したい」といったケースです。 今回は、For Ne... -
VBA樹林
VBAで切り取り・コピーのモードを解除する方法【Application.CutCopyMode の使い方】
はじめに Excel VBAで処理を自動化していると、「セルをコピー → 別のファイルに貼り付け → 元ファイルを閉じる」という流れを実装したい場面があります。私もまさにその処理を組もうとしていたところ、「コピー元のファイルを閉じる」処理でエラーが発生... -
VBA樹林
Excelファイルを開いたときに自動でセルA1に移動させる方法【VBA × ThisWorkbook】
はじめに 「誰かに見せるExcelファイルは、必ずA1セルから表示されるようにしておくこと」――そんなルールを上司から言われたことはありませんか?私自身、そのルールをよく忘れてしまうため、「ファイルを開いたときに自動でA1セルに移動する方法」をVBAで... -
VBA樹林
【VBA】セル範囲を選択したときに処理を実行する方法【Worksheet_SelectionChange】
はじめに ExcelでVBAを使っていると、特定のセルが選択されたときに処理を実行したいという場面があります。これまでは1つのセル(例:A1)に対して処理を割り当てていましたが、今回は「A1からB3までの範囲内のどれかが選択されたら処理を行う」というよ... -
VBA樹林
VBAで現在の時刻を比較して処理を分岐する方法【CDate × Time関数】
はじめに VBAで処理を組むときに、「現在の時間が○○時を過ぎていたら処理を中止する」といった、時間を使った条件分岐をしたいことがあります。私も実際に、「17時を過ぎていたらデータの書き込みをさせないようにしたい」という要件があり、その方法を調... -
VBA樹林
【VBA】今日の日付が入力されたセルを探す方法|Match関数の活用術
はじめに VBAで日付を扱う処理をしていると、「指定した範囲に今日の日付が入力されているセルがあるかどうかを判定したい」というニーズはよくあります。 私自身も、A列に連続した日付が入力されているシートにおいて、「今日」の日付が入力されたセルの... -
VBA樹林
【VBA】セルをロック・解除する方法|Lockedプロパティの使い方
経緯 VBAを使って、特定のセルだけをロックしたいと考え、今回、セルのロックおよびロック解除の方法について学びました。 解決方法:Lockedプロパティを使う Excel VBAでは、セルやシートに対して**Lockedプロパティ**を設定することで、ロック(編集禁止... -
VBA樹林
【VBA】シートを保護・解除する方法|ProtectとUnprotectの使い方
経緯 VBAを使って、シートを保護・解除する操作を自動化したいと考え、今回、その方法について学びました。 解決方法:ProtectとUnprotectを使う Excel VBAでは、シートの保護・解除をそれぞれ簡単な一行で実現できます。 シートを保護するコード ActiveSh... -
VBA樹林
【VBA】Excelを開いたときに自動でプログラムを実行する方法|Workbook_Openイベントの使い方
経緯 Excelファイルを開いたときに、自動でプログラムが実行されるようにしたいと考え、今回、VBAの自動起動処理について学びました。 解決方法:ThisWorkbookモジュールでWorkbook_Openを使う Excelが開かれたタイミングでプログラムを自動実行するには、... -
VBA樹林
【VBA】現在の時刻を取得する方法|Now関数の使い方
経緯 VBAを使って、現在の時刻を取得し、それをもとに条件分岐を行いたいと考え、今回、「今の時間」を取得する方法について学びました。 解決方法:Now関数を使う 現在の「日付と時刻」を取得するには、VBAの**Now関数**を使用します。 時刻の取得コード ... -
VBA樹林
【VBA】If~ElseIf~Elseを使った分岐処理|時間によるプログラム制御
経緯 VBAでプログラムを作成する中で、条件分岐をさらに細かく増やしたいと考え、今回、**If ElseIf Else**構文を使った分岐方法について学びました。 解決方法:If~ElseIf~Else構文を使う 今回は、現在の時間に応じて処理を切り替えるという実例で学習... -
VBA樹林
【VBA】「Shift + →」と同じ動作を再現する方法|RangeとOffsetを使う
経緯 VBAを使って、キーボード操作の**「Shift + →」**(右方向へ範囲選択拡張)と同じ動作をプログラムで再現できないかと考え、今回その方法について学びました。 解決方法:RangeとOffsetを組み合わせる VBAでは、**Range(Selection, Selection.Offset(... -
VBA樹林
【VBA】ユーザーフォームのテキストボックスを半角入力専用にする方法|IMEModeプロパティの設定
使用環境 OS:Windows 10 Pro(バージョン:20H2) ソフト:Microsoft Excel VBA 経緯 VBAでユーザーフォームを作成し、テキストボックスを設置しました。このテキストボックスには半角数字だけを入力させたいと考え、今回、その設定方法について学びまし... -
VBA樹林
【VBA】「Ctrl + F」検索機能を再現する方法|Findメソッドの使い方
使用環境 OS:Windows 10 Pro(バージョン:20H2) ソフト:Microsoft Excel VBA 経緯 VBAを使って、Excel上で**「Ctrl + F」検索機能**を再現し、指定した文字列をセルから探し出す方法を学びました。 解決方法:Findメソッドを使う VBAでは、Find()メソ... -
VBA樹林
【VBA】「F2キー」と「Enterキー」を押す動作を再現する方法|SendKeysの使い方
使用環境 OS:Windows 10 Pro(バージョン:20H2) ソフト:Microsoft Excel VBA 経緯 Excel作業を自動化する中で、**「セルを編集モードにして(F2キー)、確定する(Enterキー)」**という操作をVBAで実現したくなり、今回、その方法について学びました... -
VBA樹林
ユーザーフォームのテキストボックスに初めから今日の日付をいれたい。【VBA】
環境 Windowsの仕様 エディション:Windows 10 Pro バージョン:20H2 経緯 VBAを使って、ユーザーフォームでテキストボックスを作成して、そのなかに日付を記入することにしました。 初めは空白だったのですが、「今日の日付をいれてほしい」という要望があ... -
VBA樹林
【VBA】全角を半角に変換する方法|StrConv関数とvbNarrowの使い方
使用環境 OS:Windows 10 Pro(バージョン:20H2) ソフト:Microsoft Excel VBA 経緯 VBAを使って、バーコードリーダーから読み取った値を処理している際に、全角文字で読み取られてしまうケースがあり、非常に困っていました。 そこで今回は、全角文字を... -
VBA樹林
【VBA】セルの値だけを消す方法|ClearContentsの使い方
使用環境 OS:Windows 10 Pro(バージョン:20H2) ソフト:Microsoft Excel VBA 経緯 VBAを使って、特定のセル範囲の値だけを消去したいと考え、今回、「セルの値を消す方法」について学びました。 解決方法:ClearContentsを使う セルの値のみを削除する... -
VBA樹林
【VBA】ComboBoxに複数の値をまとめて追加する方法|セル範囲から読み込む
使用環境 OS:Windows 10 Pro(バージョン:20H2) ソフト:Microsoft Excel VBA 経緯 ユーザーフォームにプルダウンメニュー(ComboBox)を設置し、複数の選択肢を手間なく追加したいと考えました。 これまでは、 ComboBox1.AddItem "東京" ComboBox1.Add... -
Excel樹林
【Excel】文字列の途中にセルの値を埋め込む方法|&演算子の使い方
使用環境 OS:Windows 10 Pro(バージョン:20H2) ソフト:Microsoft Excel 経緯 Excel作業中に、文字列の中にセルの値を埋め込んで表示させたいと思いました。たとえば、「連絡先:〇〇〇-〇〇〇〇」のように、文字列とセルのデータを一緒に表示させるイ... -
VBA樹林
OutLookの本文を改行したい(改)【VBA】
使用環境 OS:Windows 10 Pro(バージョン:20H2) ソフト:Microsoft Excel VBA、Outlook 経緯 以前、VBAを使ってOutlookメールを作成する際、本文に改行を入れるために**「& vbCrLf」**を何度も書いていましたが、コードが非常に読みづらく、美しく... -
VBA樹林
OutLookに表を貼り付けたい。【VBA】
環境 Windowsの仕様 エディション:Windows 10 Pro バージョン:20H2 経緯 VBAを使って、Excelで作った表を貼り付けられないか、 今回勉強しました。 「.GetInspector().WordEditor.Windows(1).Selection.Paste」を使う 「.GetInspector().WordEditor.Window...