2021-03-01から1ヶ月間の記事一覧

Excel VBA フッターにファイル名を表示させる(Withステートメント)

フッターにファイル名を表示させるには、以下の2通り。 ●Excel VBA から表示させる コードの該当箇所に、Withステートメントを記述する。 ※下の例はフッター右側部分に表示させための記述のみ有効にし、 他の部分はコメントアウトにしている。 With ActiveSh…

Excel VBA セルの複数のプロパティに値をセットしたい(Withステートメント)

同じオブジェクトに対して値を設定する等、複数の処理を実行する方法としてWithステートメントを使用する。 With オブジェクト名 処理1 処理2 処理3 End With 例: Sheet1をアクティブにし、セルの複数のプロパティに値をセットしたい場合。 Sub test() With …

Excel VBA 文字列の中から先頭の数文字を指定して取り出したい(Left関数)

下記は「12345ABC」などの文字列から「12345」部分だけを取り出したい場合の一例。 1列目に格納された「11111xxx」形式の文字列から、先頭5桁の値を取り出し、隣の2列目にその値を格納する。 Sub a() Dim str As String Dim i As Integer str = "" i = 1 For…

Excel VBA 図形(オートシェイプ)の有無をチェックし、存在した場合は一括削除する(ActiveSheet.Shapes)

特定のシート上(ここでは1枚目)にオートシェイプが1つでも見つかった場合に一括削除させる処理です。 慣れた方なら繰り返し処理を考えて複数のシートにも適用させるように組むのが普通かもしれませんが、ここでは1つのシートで限定的に一括削除させる場合の…

Excel VBA 実行ボタンが押されたときに確認メッセージを表示させたい(MsgBox)

通常、プログラムの実行ボタンが押されると、記述した処理が順に動いていく。 しかし、誤って実行ボタンが押されることも想定し、本当にプログラムを実行するかをあらためて確認させることも、ユーザーの人的な動作を考慮した上でこのような記述が必要になる…

Excel VBA シート内の罫線を一括削除したい(Selection.Borders)

シート内の罫線を一括削除したい場合、「Selection.Borders」を記述する。 以下はその一例。 'シートを指定する(ここでは"Sheet1") Worksheets(1).Activate '全セル指定 Cells.Select '例: 下のように記述することで範囲指定できる。 'ActiveSheet.Range(Cel…

Excel VBA コピー&ペーストをコード内で記述する

コピー&ペーストをコード内で記述する。 以下はその一例。 「マスタ①」シートのA列2行目から最終行のデータを、「出力」シートのB2列目以降にコピー&ペーストさせている。 'コピー Sheets("マスタ①").Select Range("A2").Select Range(Selection, Selectio…

Excel VBA オートシェイプを一括削除する方法

通常、オートシェイプを一括削除する場合は以下のように行うが、複数のやり方をメモする。 ①マウスで図形を一つ選択する。 ②ctrl + A で図形を全選択。 ③Deleteキーで削除。 その他のやり方 ●マウスがない時など ①Shift + Ctrl + スペースキー で図形を全選…

Excel VBA エラー発生時にメッセージボックスを表示させる

エラー発生時にメッセージボックスを表示させる。 ON ERROR GO TO ステートメントなどを使用している場合、その処理を動かす前等に記述しておくとよい。 以下はその一例。 Dim IntRes As Integer 'ボタンの状態を表す数値用に宣言しておく 'IntRes → ボタン…

Excel VBA Excel終了時にメッセージを表示する(cmdExit_Click)

「cmdExit_Click」に必要な処理を記述することで、Excelを閉じて終了する時にメッセージを表示させることができる。 以下はその一例。 Private Sub cmdExit_Click() Dim intRtn As Integer intRtn = MsgBox("処理を終了します。" & vbCrLf & _ "よろしいです…

Excel VBA Excelを起動した時にプログラムを自動処理する(auto_open)

Excelを起動した時の処理 「auto_open」を作成し、ここにコードを記述することで起動時の処理を動かすことができる。 以下はその一例。 Sub auto_open() 'Sheet1をアクティブにする Worksheets(1).Activate 'シートの保護解除 ActiveSheet.Unprotect 'シート…