つらつら Excel VBA

私の備忘録です。

メモ

ユーザー定義書式

無理矢理文字を表示させたい時 ユーザー定義書式に「@"文字"」と入力 セルに「なんたら」と入力 「なんたら文字」と表示される この場合、セル未入力だと何も表示されない 完全に非表示にしたい場合 ユーザー定義書式にセミコロンを3個入力「;;;」 何を入力…

Select Case文の使い方メモ

Select Case文は上から順に条件を確認し、一致したところで終わる。基本編 Select Case aaa Case "A" Case "B" Case Else End Select 応用編 Select Case True Case aaa Like "*A*" Case aaa Like "*B" Case Else End Select

シートコピー失敗

wsh.Copy After:=ThisWorkbook.Worksheets(1) Excel2007以降の環境で上記のコードをExcel2003(*.xls)ファイルで実行すると失敗する。 原因 扱うことのできるExcelシートの行数、列数が異なるため。 行・列数をExcelのバージョン毎に覚えるのは嫌なので、どう…

サービスを起動するバッチファイル

@echo off echo. echo ============================================================ echo サービスSQLServerを起動します。 echo. echo 本バッチファイルは管理者権限で実行して下さい。 echo =========================================================…

DoEvents

DoEvents おまじない。 画面更新されなかったり処理停止したい時に書くおまじない。 深く考えない!

デバッグ作業

VBEにおいてデバッグでよく使うヤツ [表示]-[ツールバー]-[編集] 主にコメント設定で使用 [表示]-[イミディエイトウィンドウ] Debug.Print の出力ウィンドウ [表示]-[ウォッチウィンドウ] 実行中の変数の中身を確認・編集ができる ショートカットキー [F5] …

Excelのショートカットキー

よく使う [Ctrl]+[1] セルの書式設定 [Ctrl]+[F2] 印刷プレビュー※2007以降 [Alt]+[F11] VBE表示 [Ctrl]+[PgUp]or[PgDn] 隣のシート表示 [Ctrl]+[上]or[下]or[左]or[右] データが途切れる場所までジャンプ [Ctrl]+[:] 現在時刻 [Ctrl]+[;] 現在日付

Excelのバージョン取得

Dim ver As Stringver = Application.Version ※「12.0」とか得られるので、文字列で取得する。 ちなみに12.0はExcel2007です。

画面更新の停止

例) 行や列の追加や削除を頻繁に行う場合に処理の最初と最後に以下を追加すると、すごく良い。 Application.ScreenUpdating = False '停止 Application.ScreenUpdating = True '再開 ※停止した場合は必ず再開させること。

変数宣言の強制

Option Explicit ※面倒くさがらず、最初に必ず書くこと。

処理の待機(Sleep)

標準モジュールに記載 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 使用方法 Sleep 1000 ※1000で1秒。1で0.001秒。

モジュール名について

モジュール名を変更する場合、モジュール内の関数名と同じ名前は付けてはいけない。 Excel保存前は実行できるが、保存後に実行できなくなる。