どーでもいい知識

シェイプを削除

シート上の図形を消したい!ってとき、どういうコードにしますか? ActiveSheet.DrawingObjects.Delete が手っ取り早いけど、なんか事情(あるセル範囲内のものだけ消すとか)があってループさせたいって場合、以下のいずれかのようにするんじゃないかと思いま…

行きはよいよい、帰りは…

キーボードから入力はできるけど、DELキーでクリアできないセル。 そんなのありえないだろ?と思いきや、実は可能なんですね〜。 (Excel 2003) 作り方は以下のとおりです。 1.A1セルのロックを外す。(B1セルはロックのまま) 2.A1:B1セルを結合する。 3.シ…

大文字小文字変換

大文字に変換する/小文字に変換するといった場合、一般的には StrConv 関数を使います。 ex) MsgBox StrConv("AbCdE", vbUpperCase) MsgBox StrConv("AbCdE", vbLowerCase) これだけのことなら、別に日記のネタにするような話じゃないです。 先日ちょっ…

マクロ無効で保存したときのファイルサイズ

気にしたことがなかったので、今日初めて知ったのですが、マクロを含むブックをマクロ無効で開いて、上書き保存するとファイルサイズが小さくなります。 これは私の推測ですが、おそらくPコードの分が落ちるためではないかと思います。 追記 ↑は、Excel2003…

演算子前後の空白や LF(Line Feed)

演算子前後の空白やLFは、入れっぱなしにしていてもそのまま数式バーに残るし、演算に際しては無視されるとは気づきませんでした。(セル内でAlt+Enterで入力されるのが LF です。) どういうことかというと、、、 例えば、 =A1&B1 と入力するところを、 =A1 &…

同じじゃない?! 行番号 と 行ラベル

昨日はQuizで : を持ち出したのですが、これがまたよく分からない存在です。 行番号や行ラベルのときにも使うのですが、微妙に違う動きをします。 ' 行番号のサンプルコード Sub SampleNumber() 10: Dim i As Long 20: i = i + 1 30: MsgBox i, vbInformatio…

Auto_Open の引数

自動実行プロシージャである Auto_Open に Optional を使えば引数を渡すことができます。マクロから実行したときに限りますが。 勿論、自動実行プロシージャの機能は持ったままです。 以下、実験 Book2.xls の Module1 に↓のコードを書いておきます。 Sub Au…

ShowModal って?

Excel2000 以降では、UserForm のプロパティウィンドウの中に ShowModal ってのがあります。 なので、てっきり、UserForm オブジェクトには ShowModal プロパティがある…と思っていたのですが、どうもそれは間違いのようです。 UserForm オブジェクトどころ…

結合セル

結合セルの場合、左上のセルにしか値を持つことができない… な〜んてことはありません。 ちょっと細工をすれば、どのセルにもそれぞれ異なる値を持たせることが可能です。 やり方は以下のとおりです。 先にセルを結合しておきます。 そして、結合セルと同じ…