2024-01-01から1年間の記事一覧
VBAにおいてセル(Rangeオブジェクト)を扱う際、「.Value」を省略しても同じ動きになることが多いです。.Valueはどんな時に書く必要があるのか、書く必要がなかったとして省略しても良いのかを解説します。
IsArray関数は変数などが配列かを調べる関数ですが、Rangeオブジェクトに対してもTrueを返すという性質があります。IsArrayがTrueなのにUbound/Lboundがエラーになるなどにお悩みの方はこの仕様を疑ってください。
変数が配列か調べるには、IsArray関数を使用します。この関数は変数に限らず、関数の返り値や、配列を取得するプロパティも判定してくれます。一点、Rangeに対してもTrueになる点だけ注意して使ってください。
イミディエイトウィンドウをクリアする方法を紹介します。専用のプロパティ、組込関数はありませんので、イミディエイトウィンドウの限界行数である200行分、Debug.Printを実行することで疑似的に行います。
配列の次元数を取得する方法を紹介します。GetDimensionのような一発で取得する組込関数、プロパティはありませんので、Uboundがエラーを出すまで次元数をループして上げてみるという方法で取得します。
ByRefで定義された引数にただの値や定数を渡したらどうなるかを検証します。ByRefで定義された引数に値や定数を渡したときは、ByValと同じ動き(値が入った変数が新しく作られる)をしてくれます。
Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、「VBA100本ノック」に対する私の回答と解説のページです。
「スパゲティコード添削会」と称して、みなさんのマクロをリファクタリングするVBA勉強会を開催します!ちょっとしたコードからマクロ全体まで、添削してほしいコードがあればなんでもご相談ください!
生CSVなどに対し、列幅自動調整、オートフィルターの設置、ウィンドウ枠の固定、印刷タイトルの設定、すべての列を1ページに印刷、上下左右の余白0をすべてセットするマクロを紹介します。
WEBページ内にある表(テーブル)を、ワークシートに書き出すコードを紹介します。CSV読み込みなどに使用するQueryTableのAddメソッドにURLを渡すことで、WEBの読み込みも行うことができます。
Excel・VBAの勉強や困りごと解決のためのコミュニティ 「Excel-Fun.xls*」を開設しました!Discordをプラットフォームに、質問、相談、Tips閲覧、イベント参加にご活用いただけます。お気軽にご参加ください。
最近使ったアイテムをVBAから編集したいときは、Application.RecentFilesプロパティを使用します。Addメソッドで追加を、Deleteメソッドで削除を実行できます。
列番号を管理する方法として、列挙型変数Enumを用いる他に、Dictionaryを用いる方法もあります。特に「同じコードをレイアウトの異なるシートに対して実行できる」のが強みですので一度使ってみてください。