3日がかりのその仕事、3分で終わらせる方法教えます!
パソコンスキルの心技体

入れ子は対を書き上がるまで息を吸ってはいけない – Excelマクロ・VBA

2012年3月10日
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

エクセルマクロ・VBA達人養成塾 小川です。

さっき、基礎講座を終わって帰ってきました。

いつもながら、10時間を超えてセミナーやると疲れますね (^^;

さてさて。

今日は、ときどき見かけるミスについて。

よく、こんな状態でマクロが動かなくて「うーん」とうなっている受講生がいます。

Sub Step0()
Dim ku
ku = InStr(Range(“C2”).Value, “区”)
Range(“F2).Value = Left(Range(“C2”).Value, ku)
End Sub

慣れた人なら見た瞬間分かりますが問題は、

Range(“F2”) と書かなくてはならないところ、Range(“F2) となってしまっているところ。

対になるべき、後ろのダブルクオートがなかったわけです。

…で。

どうしてこういうことになってしまうのというと、まあいろいろ理由はあるのですが。

ひとつは、

「 “F2” 」という言葉を、一気に書き上げていないから。

というものだと思います。

こういうのは、ひと息で書き上げるのが大前提です。

前側のダブルクオートを書いたところから、思うに、後ろ側のダブルクオートを書くまでは、息をしてはダメです。

後ろ側のダブルクオートを書いたところで、はじめて、息をしてもOKです。

同様なのは…。

For Next 構文の

Dim hoge
For hoge = 2 to 11

Next

とか。

If文の

If Range(“A2”).Value > 50 Then

Else

End If

とかの入れ子構造を作るタイミングです。

こういうフレーズは、かけ算九九といっしょで、一息で言い切れるくらいに暗記してナンボです。

まる覚えして、いっきに言い切ってください。

一息で唱えられない間は、まだ実力不足です。
ですが、一気に言えるようになると、マクロを書くのは一気に楽になりますよ。

キーワード

コメント

2 thoughts on “入れ子は対を書き上がるまで息を吸ってはいけない – Excelマクロ・VBA

  1. 1. 無題
    全くエクセル・マクロ、VBAに疎い私ですが
    塾長さんのブログを読んで
    なるほどっとうなっています

    対のものは完成するさせるまで
    息吸わないで入力します
    http://ameblo.jp/magurosen/

  2. 2. Re:無題
    >マグロ船の齊藤 正明さん

    僕は、「(」を書いたら、「)」を書くまで、気分が落ち着きません。

    冗談抜きで、「(」を書いたところで大地震が来ていますぐ避難しろ!ということになったとしても、「)」だけ書いてから避難すると思います。
    http://ameblo.jp/kanjizaibosatsu/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド