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

自分も周りもびっくりしました。感動です。

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

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

大阪にいます。

そして、ちょっと、風邪気味です。。

先日、引きこもって仕事をしていた喫茶店で、クーラーがちょっと効き過ぎててイヤだな、と思っていたのですが。。

どうも、その延長で、という感じのようです。

あいたたた。

来週から休暇ということでキアイを入れて仕事をしたかったのですが、今日は、昼過ぎに都内で打ち合わせをした以外、特に何もできませんでした。。

さてさて。

そんなわけで(どんなわけだ?)今日は、受講生から今日もらった声をひとつご紹介。
フォローアップでお送りしている動画セミナーへのフィードバックのついでにいただいた声です。

セミナー受講後まだ5日の方です。

今回の問題について、先生のおっしゃった”数列”のところを一次の連立方程式を解くような感じで手で計算してやってみました。でも解説をみて、具体的にRange(” ”)を並べてみるほうが直観的でわかりやすいですね。マクロの内容を理解することはもちろんのこと、マクロを書くスピードや、マクロを実行したときにコンピュータが作動するスピードも気を付けていきたいと考えます。

(ちなみに昨日初めて業務でマクロを試作し同僚に披露してみました。自分も周りもびっくりしました。感動です。)

ここで言う「数列」というのは何かというと。

1行目、3行目、5行目、… というように、飛び飛びのセルにデータが入っている場合に、

sub hoge()
dim c as long
     for c = 1 to 10
        range("F" & c).value = range("A" & c * 2 - 1).value
     next
end sub

みたいな感じでデータを処理するとき、どうやって

c * 2 – 1

という式を求めるのか、という話です。

こういうとき、どうするかというと。

オススメは、For Next構文を作る前に、まずは、ベタに書いてみる。

↓こんな感じ。

Range("F1").Value = Range("A1").Value
Range("F2").Value = Range("A3").Value
Range("F3").Value = Range("A5").Value
Range("F4").Value = Range("A7").Value
Range("F5").Value = Range("A9").Value

そして、しばらくじーっと見て、右辺に、

c * 2 – 1

という法則を見いだします。

こういうのは、人がやった事例を見て、「へー、こういう方法があるのか!ふんふん!」と学んでいくのが上達の近道ですね。

そんなわけで、達人養成塾では、セミナー修了生向けに、動画を使って、いろいろ実データにありがちなサンプルを使って、僕が実際にマクロを書いていき、解説をする、というもの教材を用意しています。

さいきん数えてみたのですが、基礎コースだけでも、全18回、合計199分28秒あるようです。

これだけでも、フツーのセミナー一日分くらいの分量ですね ヾ(´ー`)ノ

あと、このSさん。
セミナー受講後まだ5日なのですが、さっそく実務でマクロを書いてみて、「自分も周りもびっくりしました。感動です」とのこと。よかったです ヾ(´ー`)ノ

キーワード

コメント

コメントを残す

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

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド