VBAに関する考え

なんでVBAでクラスモジュールを使うのか

なんでVBAでクラスモジュールを使うのか 基本的には標準モジュールで十分 プログラムを書くときに、モノとして扱った方が楽な場合がある。 モノの機能だけが欲しいのなら、標準モジュールでいい。 機能のまとまりを表す名前を付けて、その中にメソッドをまと…

列の最終行を求めるアレはなぜわかりにくいのか(Excel)

「[Worksheet.]Cells([Worksheet.]Rows.Count, 1).End(xlUp).Row」はなぜわかりにくいのか 任意の列(標題の場合はA列)の下端のセルの行番号を求めるおなじみのコード。 ときどき、「なかなか覚えられねえ!」という文脈で話題になるので、ちょっと考えてみ…

モジュール切り分けの一つの考え方

モジュール切り分けの一つの考え方 長くVBAをやっていると、「このメソッドは、他でも使い回せそうだなー。」という場面に結構出くわす。 今回は、モジュールを切り分けるときの一つの考えかたをば。 文字列操作メソッドに特化したモジュール 文字列を操作す…

シートオブジェクトにPropertyを生やそう!

シートモジュールにPropertyを生やそう! シートモジュールにPropertyを設置すると便利、というだけの話。 準備 たとえば、ワークシート(オブジェクト名は「Sheet1」)上に、次のようなリストがあるとする。 とりあえず超シンプルな表にした。 Propertyを設…

脱・初心者のために(1)

私が脱・初心者を自覚した瞬間 ……といっても、ある瞬間にスイッチが入ったように「今日を以て初心者を卒業します。私のことを嫌いになっても、初心者のことは嫌いにならないでください!」とか思ったわけではない。 何度も何度も、それはもう何度も何度も、T…

私がクラスモジュールを使い始めたきっかけ

きっかけ そもそもは、自分に降りかかる火の粉を、少しでも楽に振り落としたいからだった。 thom(id:t-hom)さんが、コチラで言及してくださったが、私はあくまでも素人に過ぎないのに、職場ではそれって、プログラマの仕事じゃね?的なことをさせられてしま…

VBA・マクロに関する私の考え

最近、自分には一文の得にもならない、純粋に他人のためのマクロを作らされることが多くなって、改めて思うんですが、やっぱり、マクロなんて自分のためにのみ作るもんだよな!ってことですよ。 ウチの上司は、純粋に「単純作業をマクロ化することは良きこと…

私のVBAとの出会い

もともと、私がVBAを覚えたのは、「ExcelでWordの差込印刷みたいなことってできないんだろうか」とggったことがきっかけだ。 一応、番号を入力したらそれに対応して内容が変化するように数式が埋め込まれていたんだけど、それが全部手作業だった。全てプリン…