VBAノート– category –
-
VBAノート
【VBA】Microsoft Wordのマクロ対応ファイル形式:.docm と .dotm の違い【Word】
.docm:マクロ対応ドキュメントファイル マクロを含むドキュメントの役割 .docm 形式は、「Document Macro-Enabled」と呼ばれ、マクロを含むWordドキュメントを指します。この形式は、標準の.docxファイルと同様に使用されますが、マクロ(VBAコード)を含... -
VBAノート
【VBA】WordのVBAエディタにおける「Normal」プロジェクトの解説【Word】
WordのVBAエディタで見かける「Normal」というプロジェクトについて深く掘り下げてみましょう。このプロジェクトは、Wordの使用において非常に重要な役割を果たしています。 Wordの「Normal.dotm」テンプレートとは グローバルテンプレートとしての役割 「... -
VBAノート
【VBA】プログラムを実行すると、Outlookの新規メールが開き、宛先、CC、メール文が埋まっていて、実行しているファイルが添付されて、メール送信手前まで自動化する【Word】
経緯 WindowsのWordで毎回、同じ内容、同じ宛先に送っている作業があったので、 それをVBAを使って自動化してみました。 コード 早速、コードを書きます。やってることはタイトルのままです。 Sub SendEmailWithOutlookAsDocx() Dim objOutlook As Object ... -
VBAノート
セーブ履歴を記録したい【VBA】
経緯 Excelファイルで記入ミスが起こり、誰が記入したのかわかりません。 なので、今回はセーブ履歴が残る方法を、 勉強しました。 'BeforeSave'インベントを使う 'BeforeSave'イベントを使うとできました。「セーブしたら、”セーブ履歴”シートにどんどん... -
VBAノート
フォントの色を変えたい【VBA】
経緯 Excelでフォントの色を変えたくて、 今回勉強しました。 .Font.Color = RGB()を使う .Font.Color = RGB()関数を使うとできました。 以下がコードです。 ' 指定のセルにファイル名を設定し、文字色を赤にする With Cells(1, 1) .Font.Color = RGB(255,... -
VBAノート
文字が含まれているかを見る【VBA】
経緯 Excelで「ある文字の羅列のなかに、指定した文字が入っているか」を確認したくて、 今回勉強しました。 InStr()関数を使う InStr()関数を使うとうまくいきました。 以下がコードです。 Dim raretsu, shitei As String raretsu = "ノルウェーの森" shi... -
VBAノート
音を出す。【VBA】
経緯 Excelで「メッセージだけだと、警告として弱いので、音も出せないか」と思い、 今回勉強しました。 Beep関数を使う Beep関数を使うと音だ出ます。以下がコードです。 Beep こんな感じです。 私はIf文で分岐したときに、Falseの処理の初めにBeep関数を... -
VBAノート
ファイルを閉じるときに、セルA1の値がセルB1に含まれているかをチェック【VBA】
経緯 Excelで「エクセルファイルを閉じた時、セルA1の中にセルB1の値が入っているか」をチェックしたくて、 今回勉強しました。 Workbook_BeforeCloseイベントを使う WOrkbook_BeforeCloseイベントを使うとExcelが閉じた時の処理ができます。 ThisWorkbook... -
VBAノート
セルの中が空白かどうか【VBA】
経緯 Excelで「セルの中が空白だったら、メッセージが出る」仕様にしたくて、 今回勉強しました。 If A = "" then End Ifを使う 早速、コードです。 Private Sub blank_judge() Dim a1 As String ' A1の値を取得してチェック a1 = ThisWorkbook.Worksheets... -
VBAノート
選択されている行に色をつける【VBA】
経緯 Excelのデータの列が多すぎて、どの行を見ていたのか見失うことがあったので、 行に色付けたいと思い、 今回勉強しました。 ワークシートのイベントを使う まず、コードです。そのままコピペして使えると思います。 Private PreviousRow As Range Pri... -
VBAノート
Wordのテーブルの(2,2)の値を読んで、その値を指定したExcelの中にあるか検索する方法。【VBA】
経緯 WordにはExcelみたいに”A1”とか”F6”とかなくて、どうやったら、狙った位置に文字や数字が入力できるのか、 今回勉強しました。 InStr()関数を使う Instr()関数を使うとうまくいきました。 InStr()関数はExcelでいうFind()関数です。 以下がコードです... -
VBAノート
Wordのテーブルの座標に文字を入力したい。【VBA】
経緯 WordにはExcelみたいに”A1”とか”F6”とかなくて、どうやったら、狙った位置に文字や数字が入力できるのか、 今回勉強しました。 テーブル1を読んで、そのテーブルの座標をとる 私が操作したいWordファイルではテーブルを使っていたので、まず、テーブ... -
VBAノート
Wordでもマクロ(VBA)が使いたい。【VBA】
経緯 Wordにも開発タグがあることを知り、Wordでもマクロ(VBA)を使う方法を、 今回勉強しました。 基本、Excelと一緒 基本的にExcelと一緒でリボンで開発タグを追加して、マクロを登録する感じです。 手順を書きます。 マクロを記録する 1.1. 「ビュー」タ... -
VBAノート
Split関数を使って、文字列を分割して、文字を取得したい。【VBA】
経緯 A1の文字をVBAのコード分割できないか、 今回勉強しました。 「Split()」を使う まず、コードを書きます。A1の文字は「サッカー、8月1日、8時から、学校グラウンド」とします。 ' セルの内容をコンマで分割 splitValues = Split("A1", "、") ' コンマ... -
VBAノート
フォルダの中のExcelファイルを取得して、そのファイルのD行をリストにしたい。【VBA】
経緯 タイトルのままですが、VBAでフォルダの中のExcelファイルを取得して、そのファイルのD行をリストにしたくて、 今回勉強しました。 Do while Loopを使う まず、コードを書きます。 Sub GetExcelFiles() Dim FolderPath As String Dim FileName As Str... -
VBAノート
パソリPC-S300で読み取ったデータをExcelに出力したい【VBA】
経緯 非接触ICカードリーダーを使って、そのカードの中の数値でいろいろできないか試したくて、 今回勉強しました。 ドライバーをインストール はじめに以下のドライバーをダウンロードして、https://www.sony.co.jp/Products/felica/consumer/support/dow... -
VBAノート
B列になにか記入したら、A列に今日の日付が入る【VBA】
経緯 タイトルのままですが、B列になにか記入したら、A列に今日の日付が入るようにしたくて、 今回勉強しました。 「Worksheet_Change」イベントを使う まず、コードを書きます。 Private Sub Worksheet_Change(ByVal Target As Range) Dim rng As Range S... -
VBAノート
セルを編集不可にする方法【VBA】
経緯 Excelで特定のセルに入力できないようにしようとしました。「セルをロックして、シードの保護で…」ってやるのは時間がかかるので、同じようなことがVBAでできないか、 今回勉強しました。 「Worksheet_Change」イベントを使う まず、コードを書きます... -
VBAノート
「未知の実行時エラーです。」VBSScript Scriptファイル実行できない【VBA】
経緯 VBSScript Scroptファイルを作成して、実行しようとしていましたが、「未知の実行エラーです。」と出たので、 今回勉強しました。 「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」にチェック Excelのセキュリティ設定がマクロの実行を... -
VBAノート
マクロにしたファイルを開くとき、毎回、マクロを有効にするか聞かれるのがうざい。【VBA】
経緯 マクロを作ってできた.xlsmファイルを開くとき、毎回、「マクロを有効にする」か聞かれるのがめんどくさいので、 今回勉強しました。 自動的に有効にすることはできるがしない方がいい。 Excelがマクロを自動的に実行するかどうかを制御するためのセ... -
VBAノート
セルに値を入力したら、列を一つセルを飛ばしたところを選択したい。【VBA】
経緯 VBAで「値を入力して、ひとつセルを飛ばしたところにまた値を入植したい」との要望を受けて、 今回勉強しました。 Tartgetを使う まず、プログラムを書きます。これはA1セルに値を入力するとC1にセルがセレクトされるというコードです。 Private Sub ... -
VBAノート
VBAでも例外処理がしたい。【VBA】
経緯 VBAでも例外処理(try.chatchみたいな)ことができないか、 今回勉強しました。 On Errorステートメントを使う まず、プログラムを書きます。 Sub 例外処理() On Error GoTo ErrorHandler ' エラーハンドラーへのジャンプを設定 If ans = vbYes Then ... -
VBAノート
バックアップファイルを取りたい。【VBA】
経緯 Excelファイルのバックアップを取りたいと思い、 できないか、 今回勉強しました。 タスクスケジューラとVBA(Visual Basic for Applications)を使う 手順を書きます。 VBAを使ってExcelを保存するマクロを作成。 VBAマクロを実行するバッチファイル... -
VBAノート
ExcelファイルをPDFファイルに変換したい。【VBA】
経緯 VBAでExcelファイルをPDFファイルに変換したいと思い今回勉強しました。 「ExportAsFixedFormat」を使う プログラムを書きます。 ' シートをPDFに変換し、指定したファイル名で保存します ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfFile... -
VBAノート
“Call”ステートメントで取得した変数を他のbookでも使いたい。【VBA】
経緯 VBAでモジュールを二つ「module1」「module2」と作り、「module2」で「module1」で取得した変数を使いたいと思い今回勉強しました。 グローバル変数を使う まず、ダメだったプログラムを書きます。 'module1 Sub MySub() Dim myBar as String '変数に... -
VBAノート
セルに文字を入れたら、行が追加される【VBA】
経緯 Excel関数の「match関数」と「index関数」を使って値を得ていたが、それらの関数だと、「重複している値はセルの上にあるほうが優先されて読む」のでどうにかセルの下にあるほうを読めないか模索していた。しかし、調べていくと、なかなか難しいらし... -
VBAノート
列の一番下のセルの行を得る【VBA】
経緯 VBAで「B列の文字が入力してある一番最後の行を得たい」と思い、 今回勉強しました。 「.End(xlUp)」を使う まず、プログラムを書きます。 dim xlendrow as long dim endrow as long xlendrow = Cells(Rows.Count,1).Row endrow = Cells(xlendrow,2).... -
VBAノート
セルに文字を入れたら、プログラムが実行される【VBA】
経緯 VBAで「セルに文字を入れたら、日付が入力されるようにしたい」と思い、 今回勉強しました。 「Worksheet_Change」を使う まず、プログラムを書く準備をします。 Excelの開発タブから"Visual Basic"をクリック プロジェクトタブの"Sheet1"をダブルク... -
VBAノート
セルの下から指定した文字を見つける【VBA】
経緯 VBAで「セルを下から数えて、指定した文字を見つけたい」と思い、 今回勉強しました。 「”For Next文” でStep -1」を使う プログラムを書きます。「A列に苗字がたくさんあって、その中の一番下にある"森"という文字を検出する」という流れです。 Dim ... -
VBAノート
切り取りモード、コピーモードを解除する方法【VBA】
経緯 VBAで「セルをコピーして、それを別のExcelファイルに貼り付けて、そして、コピー元のファイルは閉じる」というプログラムを作ったのですが、「コピー元を閉じる」という命令でエラーがでました。 なので、今回勉強しました。 「Application.CutCopyM...