VBAノート– category –
-
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... -
VBAノート
Excelファイル開くとセル”A1”になるようにしたい【VBA】
経緯 上司が「誰かに見てもらうExcelファイルのRangeは”A1”にしておくように」と言われ、私はそれをわすれてしまうので、 VBAでどうにかできないか考えてみました。 ThisWorkbookにコードを書く 手順を書きます。 まず、 VBA開きます。 左のプロジェクトの... -
VBAノート
Private Sub Worksheet_SelectionChange(ByVal Target As Range)で範囲選択したい【VBA】
経緯 VBAで、Private Sub Worksheet_SelectionChange(ByVal Target As Range)を使うとき、 1つのセルでの処理をやっていたが、もっと広い範囲で処理を行いたくて、 今回勉強しました。 IF Not intersect(Target, Range("A1":"B3")) Is Nothing Then....を... -
VBAノート
時間を比較する【VBA】
経緯 VBAを使って、取得した時間の比較をしたくて、 今回勉強しました。 日付型にする「CDate」を使う まず、プログラムを書きます。”今の時間now_timeと制限時間limit_timeがあり、今の時間が過ぎたら、この処理”って設定です。 Dim now_time, limit_time... -
VBAノート
今日をセルを見つける【VBA】
経緯 VBAを使って、セルに日にちが記載してあります。その中で今日のセルを選択できるようにしたいと思い、 今回勉強しました。 「WorksheetFunction.Match(CLng(Date), Range("A1:A1000"), 0)」 まずはプログラムを書きます。find_dateという変数に今日の... -
VBAノート
セルをロック【VBA】
経緯 VBAを使って、セルをロックしたくて、 今回勉強しました。 セルのロックを解除するには「ActiveSheet.Cells.Locked = False」を、セル"A1"をロックするには「ActiveSheet.Range("A1").Locked = True」を使う まずはプログラムを書きます。 ActiveShee... -
VBAノート
シートを保護【VBA】
経緯 VBAを使って、シートを保護したくて、 今回勉強しました。 シート保護には「ActiveSheet.Protect」を、シート保護解除は「ActiveSheet.Unprotect」を使う まずはプログラムを書きます。 ActiveSheet.Unprotect こんな感じでプログラムを書くといけま...