2020-09-01から1ヶ月間の記事一覧
Len関数には、「String以外の変数を渡すと、変数のメモリ上の大きさを返す」といういらぬ仕様があります。Len関数がなぜか4を返す、文字列の切り抜きがうまくいかない、あたりにお悩みの方は、この落とし穴に落ちていないかご確認ください。
英訳してはいけない変数第1位のワークシート、第2位の列見出し名ときて、最後は「専門用語」です。ExcelVBAを用いて業務を効率化せんとするみなさんはその道のプロです。プロ同士の繊細な意思疎通を図るためにも、専門用語はそのまま変数名にしましょう。
今回は日本語変数に関するお話です。第1位のワークシートに続き、列見出し名が日本語だった場合は、その変数名をわざわざ英訳してはいけません。特にEnum定数などは、入力も日本語の方が簡単なコードですので、しっかり一致させたコードを書きましょう。
表形式のデータを定数で定義するとき、Enum(列挙型)定数が便利ですが、毎回書くのは面倒なので、マクロをマクロに書いてもらいましょう。見出し範囲を選択して実行すると、イミディエイトウィンドウにコードを生成して出力するマクロです。
ワークシートのオブジェクト名をマクロで設定する方法を紹介します。シートオブジェクト名での指定は便利なのですが、設定が面倒なので、それを「アクティブシートのオブジェクト名を、シート名と同じ名前にする」マクロでやってしまおうという魂胆です。
今回は日本語変数に関するお話です。単刀直入に、シート名が日本語だった場合に、その変数名をわざわざ英訳してはいけません。VBAではワークシート名もソースコードの一部です。同じオブジェクトの変数名は、すべてのコードで同じ単語を当てましょう。
ペダルそれぞれに、キーボードやマウスの入力を割り当てられる、3キータイプのフットスイッチに割り当てると便利なショートカットを考察します。右手マウスと併用したいけど、片手では押しづらいショートカットたちが有力候補になります。
セルを指定するプロパティ、RangeとCellsの違いを解説します。どちらもセルを取得するために使いますが、Rangeの方ができることが多く「セル範囲や複数のエリア」を取得できます。Cellsは指定が数値なのを利用して、変数や定数を活用するために使います。
Rangeオブジェクトと、Rangeプロパティの違いを解説します。「Rangeオブジェクトを取得する、たくさんあるプロパティの中のひとつがRangeプロパティ」です。これだけで分かるのは難しいと思いますので、より詳しく説明していきます。
完成品の全体が見たい!という方のための、マクロサンプルです。今回のテーマは「データシート⇒帳票を出力」です。利便性をテーマに作成しましたので、クラスの参考にするなり、中身を見ずにコピペして使うなり、お好きな方法でご活用ください。