弥縫録

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 06:57:01
今気付いたわけではありませんが
わたし、基本的に学習能力ないので
頻繁にしくじるポイントをチェックリスト的に挙げていこうという企画w

「超初心者向け注意事項集」みたいになる可能性大ですが… orz

ちなみに
いちいち "> わたし" って付けることにしたのは
われながらレベル低すぎて、
他人向けに書いてると思われると恥ずかしいので… orz 

--------------

こういう駄洒落を面白い(?)と思うのはオヤジ化してる証拠かも!?

…と思ったら、むかしっからそういうセンスでした。o......rz

動作テスト

  • _Kyle(1291004)
  • 2012/09/29 (Sat) 15:15:25
動作テストは【1時間以内で】終わるように設定しましょう。
 >わたし

仕様

  • _Kyle(1291004)
  • 2012/09/15 (Sat) 21:26:08
機能仕様か技術仕様、どちらかは【必ず】書きましょう。
 > わたし

元コード

  • _Kyle(1291004)
  • 2012/09/15 (Sat) 21:23:19
質問文のコードは、質問者が書いたコードとは限りません。
質問文のコードが、質問者の意図を反映しているとは限りません。
 > わたし

ハイパーリンク

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:52:33
セルへのハイパーリンク貼るときは
シート名から指定しないと2007でマズいことになるよ
 > わたし

 # 2010でどうかは知らんけど。

再帰/ループ

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:51:52
ループの場合は、パラメータいじるだけで好きな場所に跳べるから
再帰動作を真っ正直に再現しようとするとマヌケなことになるよ
 > わたし

行と列

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:50:25
行と列の対称性は「抽象化の漏れ」があるから注意しましょう
 > わたし

オブジェクト変数

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:48:33
って、参照掴んでるだけだから、
変数に投げても参照が入るだけだよ
 > わたし

 # いや、ブックとかシートはさすがに間違えないんですけどね。
 # つか、間違えようないし。

 # Collectionとかになるとついうっかり… orz

エラー

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:45:56
「実行時エラー ⊃ コンパイルエラー ⊃ シンタックスエラー」だから
 > わたし

 # ぃゃ、
 # [自動構文チェック]切ってれば、
 # コンパイルの段階でシンタックスエラー出るし
 # [VBAProjectのコンパイル]してなければ、
 # 実行した段階でコンパイルエラー出るし
 # どのタイミングでエラーが出るかは環境と運用に依存するから
 # 【エラー出るタイミングから状況即断しちゃいかんよ】的な意味で。

カテゴリ

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:44:08
VBカテの質問は
「"初心者"で、Excelっぽくても」
VBAの質問とは限らんよ
 > わたし

Officeカテの質問は
「"初心者"で、Excelっぽくても」
Excelの質問とは限らんよ
 > わたし

Timer

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:42:45
Timerの戻り値ってSingleだから
 > わたし

 # でもTimer使うときって
 # 「秒単位でざっぱに測りたい」ときだから
 # 運用上は問題ないんだけどね。
 # でも恥ずかしいよね。

Nothing

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:41:26
オブジェクトDimで作ったら、Nothingしても意味ないよ
 > わたし

プロシージャレベルで作ったのをNothingして
意味あるかどうかは知らんけどね。

演算誤差

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:39:54
小数点数やシリアル値はとりあえず丸めましょう
 > わたし

Excelの自動補正には期待しないように。

補正メモ

 ○ INDEX 第2,3引数
 × CHOOSE 第1引数
 × MOD 第1引数
 ○ 小数点数同士の一致判定
 × ゼロ判定

 ※ バージョンによって異同あるかも 

ワイルドカード

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:37:14
ワイルドカード使うときは
「"ミカン"で"ナツミカン"がヒットする問題」
に注意して、区切文字使いましょう
 > わたし

区切文字使って判定するときは
「"ミカン"で"ミカン"がヒットしない問題」
に注意して、相手側にも区切文字付けましょう。
 > わたし

コレクション

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 22:35:15
何かのコレクションにAddしたら
Deleteしなくてもいいか、よく考えましょう
 > わたし

シート名

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 07:05:36
コード上でシート名を扱うときは、ちゃんと括りましょう。
 > わたし

初期化/開放

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 07:03:21
モジュールレベルで宣言したら
とりあえず【すぐに】初期化して解放しましょう
 > わたし

メモリがどうとかじゃなくて、
次に起動したときマズいことになるかもしれないから。

「あとで」とか「動作確認してから」とか思わないように。

ループ

  • _Kyle(1291004)
  • 2012/09/14 (Fri) 06:58:50
ループ回すときは、
後ろから見た方が賢くないか、よく考えてみましょう。
 > わたし

あと、卑猥で寒いジョークをとばす誘惑に負けないように。
訴えられるよ。
    
(投稿前に、内容をプレビューして確認できます)