#excelvbatips résultats de recherche
シート変数やシートオブジェクト名を「ws+シート名」にするルールとCtrl+Spaceによるコード補完機能を組み合わせることで、画像のようにシート名の選択肢からコードを入力できるようになります。 変数の選びやすさに加え、日本語入力OFFのまま入力できるのがとても便利です(`・ω・´)b #ExcelVBATips
マクロ記録がとんでもないことで有名な「セルの罫線設定」ですが、 - Bordersの(引数)を省略すれば格子罫線の一括設定 - WeightとLineStyleはどちらかを設定すればOK(もう一方の設定は不要なことがほとんど) という仕様を知っていれば、1~2行のコードで簡単に設定が可能です! #ExcelVBATips
行番号は「R_シート名」、シートは「WSシート名」など変数に英字を接頭するマイルールを作っておけば、Ctrl+Spaceの選択肢入力を変数の種類ごとにリスト化できるようになります! これなら日本語入力OFFのまま日本語変数を入力できるのも便利なポイントです(´∀`) #ExcelVBATips
ExcelVBAは変数名に日本語を使えます。 「英訳不要」ももちろんメリットなのですが、それを超える真のメリットが「母国語の力でコードの流し読みができるようになること」です。 日本語変数を使ったことがまだない方は、ぜひ一度使ってみてください(´∀`) #ExcelVBATips limecode.jp/entry/guidelin…
On Error Resume Next 中にIf ~ Then間でエラーとなった場合、「IfステートメントはTrue側に分岐」します。 If文を「Trueなら中に入る」機能と解釈しているとびっくりする挙動ですが、「Falseならジャンプする」機能だと思えば当然の動きとも言えます。ご注意ください。 #ExcelVBATips
Workbook.Savedプロパティで「ブックに未保存の編集があるか」を調べることができますが、このプロパティは代入して状態を変更することもできます。 Saved = True とすれば保存していなくても保存済扱いとなり、「×を押したときの保存確認をOFFにする」ことが可能です。 #ExcelVBATips
まだ書きかけのコードでも容赦なく指摘してきて邪魔な通知「コンパイルエラー:修正候補:式」ですが、これはオプションの「自動構文チェック」のレ点を外せばOFFにできます。 通知が出なくなってもコードの色は変わってくれるので、チェック機能としてはこれで十分ですね(´∀`) #ExcelVBATips
For文のカウンタには「i」が一般的ですが、Cellsの中に書く行/列番号は「R/C」を使ってみてください。 Cells(i, j) ⇒ Cells(R, C)にするだけで格段に見やすくなりますし、Worksheets(i)やArr(i)など他にiを使うコードと干渉しないコードにできます(´∀`) #ExcelVBATips
FileSystemObjectを使う際、いちいちCreateObject~~を記述するのは面倒なので、Public変数にしてマクロ全体で共有してしまいましょう! Public FSO As New FileSystemObject これをどこかで一つ宣言するだけで、すべてのモジュールで使いまわしが可能です! #ExcelVBATips limecode.jp/entry/utility/…
For文のカウンタには「i」が一般的ですが、Cellsの中に書く行/列番号には「R/C」を使ってみてください! Cells(i, j) ⇒ Cells(R, C)にするだけでコードが格段に読みやすくなりますし、Worksheets(i)やArr(i)など、他にiを使うコードと干渉しないコードにできます(`・ω・´)👍 #ExcelVBATips
ExcelVBAは変数名に日本語を使えます。 「英訳不要」ももちろんメリットなのですが、それを超える真のメリットが「母国語の力でコードの流し読みができるようになること」です。 日本語変数を使ったことがまだない方は、ぜひ一度使ってみてください(´∀`) #ExcelVBATips limecode.jp/entry/guidelin…
U/LCase関数やStrConv関数はギリシャ文字の大文字/小文字変換にも対応しています。 StrConv("ν", vbUpperCase) ' Ν StrConv("Ξ", vbLowerCase) ' ξ LCase("Ⅳ")もⅳになってしまいますので、マニュアルに(ⅲ)を使っている場合などはご注意ください。 #ExcelVBATips
FileSystemObjectを使うとき、 Public FSO As New FileSystemObject をどこかのモジュールで宣言しておけば、そのブックすべてでこの変数FSOを使いまわせます。 FileSystemObjectを使うのがだいぶ楽になるのでおすすめです(´∀`) #ExcelVBATips limecode.jp/entry/utility/…
画像は「5段階評価のアンケートで12を不満足、3を普通、45を満足、空欄を未記入に分類するコード」です。 こういった規則的な分岐はSelect Case文を使うと綺麗に書くことができます! +良し悪しはありますがChoose関数でのワンライナーも状況によっては便利ですね(´∀`) #ExcelVBATips
カウンタ変数に意味を持たせる命名を発展し、行番号を「R_シート名」と名付けておけば、R+Ctrl+Spaceで「行番号のリスト」から入力できるようになります! 各変数に接頭する英字のマイルールを作っておけば、変数を日本語入力OFFのまま選択入力していけるようになります(´∀`) #ExcelVBATips
For文のカウンタには「i」が一般的ですが、Cellsの中に書く行/列番号は「R/C」を使ってみてください。 Cells(i, j) ⇒ Cells(R, C)にするだけで格段に見やすくなりますし、Worksheets(i)やArr(i)など他にiを使うコードと干渉しないコードにできます(´∀`) #ExcelVBATips
「F8:ステップ実行」やエラー発生時の「デバッグ」を選択した際に表示される「現在行を示す黄色い➡」はマウスで動かすことができます! エラー発生時に「ちょっと前に戻ってやり直し」ができるのはかなり便利なので、知らなかった方はぜひ使ってみてください(´∀`) #ExcelVBATips
Endプロパティは「フィルター抽出中は正確に最終行を取ってこない」という罠があります。 フィルターを解除してから実行したり、最終行取得はUsedRange.Rows.Countで取るなどで対策しましょう! limecode.jp/entry/trap/end… #ExcelVBATips
limecode.jp
VBAの罠-Endによる最終行取得は非表示の行を検知できない - 和風スパゲティのレシピ
知らずに落ちると抜け出せなくなるVBAの落とし穴です。最終行がなぜか小さい値になるときは、この罠を疑ってください。Endプロパティは非表示セルを検知しない仕様がありますので、表示されている最後のセルしか取得できません。
文字列の中身を切り出す「Mid関数」ですが、実はVBAでは左辺にも使用でき、「文字列変数の中身を置換する」関数として動きます。 Mid(文字列変数, 3, 2) = "あいう" ↑ 変数の3~4文字目が"あいう"に差し替わる まあ滅多に使わないんですが笑、豆知識としては面白いですね(´∀`) #ExcelVBATips
セル.Addressはそのままだと「$A$1」を返しますが、第1,2引数で参照切替ができるので、セル.Address(False, False)で「A1」を取得することができます。 このFalseは0でもいいので、イミディエイトウィンドウなどでは ?セル.Address(0,0) とするのが見やすくておすすめです(´∀`) #ExcelVBATips
Workbooks.Addメソッドは追加したWorkbookオブジェクトを返すので Dim ws出力シート As Worksheet Set ws出力シート = Workbooks.Add.Worksheets(1) と、追加シートを一気にWorksheet変数にことが可能です! その際ブックを保存するときは、 ws出力シート.Parent.SaveAs ~で可能です! #ExcelVBATips
Workbooks.Addメソッドは追加したWorkbookオブジェクトを返すので Dim ws出力シート As Worksheet Set ws出力シート = Workbooks.Add.Worksheets(1) と、追加シートを一気にWorksheet変数にことが可能です! その際ブックを保存するときは、 ws出力シート.Parent.SaveAs ~で可能です! #ExcelVBATips
Workbook.Savedプロパティで「ブックに未保存の編集があるか」を調べることができますが、このプロパティは代入して状態を変更することもできます。 Saved = True とすれば保存していなくても保存済扱いとなり、「×を押したときの保存確認をOFFにする」ことが可能です。 #ExcelVBATips
U/LCase関数やStrConv関数はギリシャ文字の大文字/小文字変換にも対応しています。 StrConv("ν", vbUpperCase) ' Ν StrConv("Ξ", vbLowerCase) ' ξ LCase("Ⅳ")もⅳになってしまいますので、マニュアルに(ⅲ)を使っている場合などはご注意ください。 #ExcelVBATips
セル.Addressはそのままだと「$A$1」を返しますが、第1,2引数で参照切替ができるので、セル.Address(False, False)で「A1」を取得することができます。 このFalseは0でもいいので、イミディエイトウィンドウなどでは ?セル.Address(0,0) とするのが見やすくておすすめです(´∀`) #ExcelVBATips
マクロ記録がとんでもないことで有名な「セルの罫線設定」ですが、 - Bordersの(引数)を省略すれば格子罫線の一括設定 - WeightとLineStyleはどちらかを設定すればOK(もう一方の設定は不要なことがほとんど) という仕様を知っていれば、1~2行のコードで簡単に設定が可能です! #ExcelVBATips
ファイル名に20251103を付与するときにFormat(Date,"yyyymmdd")としていると、hhmmを追加する際DateをNowに変え忘れて202511030000になるうっかりが懸念されます。 hhmmを追加するパターンも今後ありそうなら、最初からFormat(Now,"yyyymmdd")としておくのも一つの手ですね。 #ExcelVBATips
配列の各要素を初期化({1,2,3}を{0,0,0})したい場合、静的配列ならEraseでよいですが、動的配列だとEraseでは配列自体が初期化されてしまいます。 動的配列を初期化したい場合は、ReDimステートメントを再実行すればOKです。 ReDim 配列(1 To 3) ' ←Long()ならこれで{0,0,0}になる #ExcelVBATips
ブログを更新しました。 配列の中身を初期化する - Erase/ReDim - #和風スパゲティのレシピ limecode.jp/entry/syntax/e… #Excel #VBA
yyyymmdd形式か判定するには「8桁の数値」かどうかを調べますが、Len関数は変数の消費メモリを返すためLen(Long変数)は常に4になってしまいます。 数値の桁数を調べる場合は、一旦文字列にするCStr関数を使って「Len(CStr(Long変数))」を用いましょう。 #ExcelVBATips
ブログを更新しました。 日付(Date)とyyyymmdd(Long)を相互変換する - #和風スパゲティのレシピ limecode.jp/entry/utility/… #Excel #VBA
「F8:ステップ実行」やエラー発生時の「デバッグ」を選択した際に表示される「現在行を示す黄色い➡」はマウスで動かすことができます! エラー発生時に「ちょっと前に戻ってやり直し」ができるのはかなり便利なので、知らなかった方はぜひ使ってみてください(´∀`) #ExcelVBATips
FileSystemObjectを使う際、いちいちCreateObject~~を記述するのは面倒なので、Public変数にしてマクロ全体で共有してしまいましょう! Public FSO As New FileSystemObject これをどこかで一つ宣言するだけで、すべてのモジュールで使いまわしが可能です! #ExcelVBATips limecode.jp/entry/utility/…
Shift+F2から元いた場所に戻るショートカットCtrl+Shift+F2ですが、実はShift+F2に関係なく「ひとつ前の作業位置に戻る」ショートカットとして機能します! 連続実行にも対応しており、直前に書き換えたコードを順に辿っていくことができますので一度お試しを! #ExcelVBATips
Sub/Function名にカーソルを合わせてShift+F2を押すと、そのSub/Functionの宣言位置まで移動できます。元の場所に戻るときはCtrl+Shift+F2でOK! 変数名からDimの位置まで移動するのも同じショートカットでいけますよ~(´∀`) #ExcelVBATips
Sub/Function名にカーソルを合わせてShift+F2を押すと、そのSub/Functionの宣言位置まで移動できます。元の場所に戻るときはCtrl+Shift+F2でOK! 変数名からDimの位置まで移動するのも同じショートカットでいけますよ~(´∀`) #ExcelVBATips
行番号は「R_シート名」、シートは「WSシート名」など変数に英字を接頭するマイルールを作っておけば、Ctrl+Spaceの選択肢入力を変数の種類ごとにリスト化できるようになります! これなら日本語入力OFFのまま日本語変数を入力できるのも便利なポイントです(´∀`) #ExcelVBATips
ExcelVBAは変数名に日本語を使えます。 「英訳不要」ももちろんメリットなのですが、それを超える真のメリットが「母国語の力でコードの流し読みができるようになること」です。 日本語変数を使ったことがまだない方は、ぜひ一度使ってみてください(´∀`) #ExcelVBATips limecode.jp/entry/guidelin…
ChatGPTなどのAIにVBAを書いてもらうとき、「変数を日本語にしてください」とお願いしてみてください。 生成コードが非常に読みやすくなりますし、書き替え箇所の把握も簡単になります。 日本語変数最大の弱点「入力が面倒」も、AIが書くなら関係なしです(´∀`) #ExcelVBATips
ExcelVBAは変数名に日本語を使えます。 「英訳不要」ももちろんメリットなのですが、それを超える真のメリットが「母国語の力でコードの流し読みができるようになること」です。 日本語変数を使ったことがまだない方は、ぜひ一度使ってみてください(´∀`) #ExcelVBATips limecode.jp/entry/guidelin…
ExcelVBAは変数名に日本語を使えます。 「英訳不要」ももちろんメリットなのですが、それを超える真のメリットが「母国語の力でコードの流し読みができるようになること」です。 日本語変数を使ったことがまだない方は、ぜひ一度使ってみてください(´∀`) #ExcelVBATips limecode.jp/entry/guidelin…
まだ書きかけのコードでも容赦なく指摘してきて邪魔な通知「コンパイルエラー:修正候補:式」ですが、これはオプションの「自動構文チェック」のレ点を外せばOFFにできます。 通知が出なくなってもコードの色は変わってくれるので、チェック機能としてはこれで十分ですね(´∀`) #ExcelVBATips
Dictionaryは「Itemをすべて""にしてKeyをItemだと思って使う」ことで、存在チェック(Exists)と配列変換(Keys)を有する高機能Collectionとして使うこともできます。 動的な一次元配列には、ArrayやCollectionよりもこちらを採用するのがおすすめです(´∀`) #ExcelVBATips limecode.jp/entry/syntax/u…
On Error Resume Next 中にIf ~ Then間でエラーとなった場合、「IfステートメントはTrue側に分岐」します。 If文を「Trueなら中に入る」機能と解釈しているとびっくりする挙動ですが、「Falseならジャンプする」機能だと思えば当然の動きとも言えます。ご注意ください。 #ExcelVBATips
For文のカウンタには「i」が一般的ですが、Cellsの中に書く行/列番号には「R/C」を使ってみてください! Cells(i, j) ⇒ Cells(R, C)にするだけでコードが格段に読みやすくなりますし、Worksheets(i)やArr(i)など、他にiを使うコードと干渉しないコードにできます(`・ω・´)👍 #ExcelVBATips
この処理をVBAでやる場合は、F5:ジャンプをVBAで実行するSpecialCells ⇒ EntireRow.DeleteでOKです! 対象Range.SpecialCells(xlCellTypeBlanks).EntireRow.Delete ↑この処理がワンライナーっていうのは素晴らしいコスパですね(´∀`) #ExcelVBATips
On Error Resume Next 中にIf ~ Then間でエラーとなった場合、「IfステートメントはTrue側に分岐」します。 If文を「Trueなら中に入る」機能と解釈しているとびっくりする挙動ですが、「Falseならジャンプする」機能だと思えば当然の動きとも言えます。ご注意ください。 #ExcelVBATips
マクロ記録がとんでもないことで有名な「セルの罫線設定」ですが、 - Bordersの(引数)を省略すれば格子罫線の一括設定 - WeightとLineStyleはどちらかを設定すればOK(もう一方の設定は不要なことがほとんど) という仕様を知っていれば、1~2行のコードで簡単に設定が可能です! #ExcelVBATips
まだ書きかけのコードでも容赦なく指摘してきて邪魔な通知「コンパイルエラー:修正候補:式」ですが、これはオプションの「自動構文チェック」のレ点を外せばOFFにできます。 通知が出なくなってもコードの色は変わってくれるので、チェック機能としてはこれで十分ですね(´∀`) #ExcelVBATips
行番号は「R_シート名」、シートは「WSシート名」など変数に英字を接頭するマイルールを作っておけば、Ctrl+Spaceの選択肢入力を変数の種類ごとにリスト化できるようになります! これなら日本語入力OFFのまま日本語変数を入力できるのも便利なポイントです(´∀`) #ExcelVBATips
ExcelVBAは変数名に日本語を使えます。 「英訳不要」ももちろんメリットなのですが、それを超える真のメリットが「母国語の力でコードの流し読みができるようになること」です。 日本語変数を使ったことがまだない方は、ぜひ一度使ってみてください(´∀`) #ExcelVBATips limecode.jp/entry/guidelin…
For文のカウンタには「i」が一般的ですが、Cellsの中に書く行/列番号は「R/C」を使ってみてください。 Cells(i, j) ⇒ Cells(R, C)にするだけで格段に見やすくなりますし、Worksheets(i)やArr(i)など他にiを使うコードと干渉しないコードにできます(´∀`) #ExcelVBATips
シート変数やシートオブジェクト名を「ws+シート名」にするルールとCtrl+Spaceによるコード補完機能を組み合わせることで、画像のようにシート名の選択肢からコードを入力できるようになります。 変数の選びやすさに加え、日本語入力OFFのまま入力できるのがとても便利です(`・ω・´)b #ExcelVBATips
For文のカウンタには「i」が一般的ですが、Cellsの中に書く行/列番号には「R/C」を使ってみてください! Cells(i, j) ⇒ Cells(R, C)にするだけでコードが格段に読みやすくなりますし、Worksheets(i)やArr(i)など、他にiを使うコードと干渉しないコードにできます(`・ω・´)👍 #ExcelVBATips
画像は「5段階評価のアンケートで12を不満足、3を普通、45を満足、空欄を未記入に分類するコード」です。 こういった規則的な分岐はSelect Case文を使うと綺麗に書くことができます! +良し悪しはありますがChoose関数でのワンライナーも状況によっては便利ですね(´∀`) #ExcelVBATips
カウンタ変数に意味を持たせる命名を発展し、行番号を「R_シート名」と名付けておけば、R+Ctrl+Spaceで「行番号のリスト」から入力できるようになります! 各変数に接頭する英字のマイルールを作っておけば、変数を日本語入力OFFのまま選択入力していけるようになります(´∀`) #ExcelVBATips
For文のカウンタには「i」が一般的ですが、Cellsの中に書く行/列番号は「R/C」を使ってみてください。 Cells(i, j) ⇒ Cells(R, C)にするだけで格段に見やすくなりますし、Worksheets(i)やArr(i)など他にiを使うコードと干渉しないコードにできます(´∀`) #ExcelVBATips
実行中のプロシージャがどこからCallされているかは「Ctrl+L:呼出履歴」で調べることができます。 呼出元のプロシージャを選択すればそこに移動も可能。 ちなみにこの機能はローカルウィンドウ右上にもボタンがあるので、「ローカルのL」と覚えましょう(´∀`) #ExcelVBATips
Something went wrong.
Something went wrong.
United States Trends
- 1. Louisville 12K posts
- 2. Nuss 5,152 posts
- 3. Miller Moss N/A
- 4. Bama 12.1K posts
- 5. #AEWCollision 8,833 posts
- 6. The ACC 18.4K posts
- 7. Hawks 16.1K posts
- 8. Ty Simpson 2,806 posts
- 9. Lagway 3,262 posts
- 10. Clemson 5,964 posts
- 11. Kentucky 29.7K posts
- 12. Van Buren 1,176 posts
- 13. Stoops 1,677 posts
- 14. Watford 2,893 posts
- 15. #RockHall2025 4,182 posts
- 16. Wake Forest 1,917 posts
- 17. Vandy 5,915 posts
- 18. Brohm N/A
- 19. Donovan Mitchell 1,585 posts
- 20. #LetEmKnow 2,756 posts