GoGoマクロのブログ

初心者向けマクロ講座「Go!Go!マクロ」の筆者三太郎の公式ブログです。

GoGoマクロ

エクセル仕事の自動化が誰でもできる本

マクロのテクニック(セル移動その2)

2010-01-28 10:54:06 | マクロ作成のコツ
                   にほんブログ村 IT技術ブログへ



それではもう一つ、今後自動集計のプログラムを作る上で
便利な「セルを選択する方法」として、次の1行をみなさんに
覚えていただきたいと思います。


++++++++++++++++++++++++++++―
Cells(1, 2).Select
++++++++++++++++++++++++++++―


これは、「絶対移動」に当たるセル選択の方法で、
特長はというと、
数字でその移動位置が指定できる点です。


例えば、

Cells(1, 1).Select・・・ A1 のセルを選択する
Cells(2, 2).Select・・・ B2 のセルを選択する
Cells(2, 3).Select・・・ C2 のセルを選択する

となり、

この( )内の最初の数字が行番号、後の数字が列番号
(A列が1、B列が2、C列が3、・・・)を示します。


また、列名を使いなれたアルファベットで指定する形に直して
Cells(1, 1).Select → Cells(1, "A").Select
と書いてもOKです。





無料メルマガ講座の登録は、▼こちらから▼
      「Go! Go! エクセルマクロをはじめよう!」



コメント

マクロのテクニック(セル移動その1)

2010-01-26 10:31:03 | マクロ作成のコツ
                   にほんブログ村 IT技術ブログへ



今回は、ちょっと予備知識としてプログラムの勉強をします。

++++++++++++++++++++++++++++―
Range("B1").Select
ActiveCell.Offset(1, 0).Activate
++++++++++++++++++++++++++++―

このプログラムは、これまでにもよく使ってきましたので、
みなさんもうお解かりの内容だとは思いますが、
「あるセルを選択する」というものでした。

念のため、いま一度おさらいとして説明しておきますと、

最初の「Range("B1").Select」は、「B1のセルを選択する」
という意味です。

例えばもし、

C15 のセルを選択したければ単純に「Range("C15").Select」
と書けば良いわけです。

次ぎの「ActiveCell.Offset(1, 0).Activate」は、
現在選択されているセルの位置から、縦や横にカーソル移動して
新たなセルを選択する方法です。

( )の中の2つの数字の1番目が縦方向、2番目が横方向に移動
するセルの数を示し、例えば、

ActiveCell.Offset(2, 0).Activate-->下方向へ2つ移動
ActiveCell.Offset(0, 3).Activate-->右方向へ3つ移動
ActiveCell.Offset(1, 2).Activate-->下へ1右へ2移動
ActiveCell.Offset(-2, -1).Activate-->上へ2左へ1移動

という具合になります。

ということで、

この2つの「セルを選択をする」というプログラムの違いは
というと、前者は「絶対移動」で、後者は「相対移動」という
ことになります。





無料メルマガ講座の登録は、▼こちらから▼
      「Go! Go! エクセルマクロをはじめよう!」




コメント

処理時間の計り方(ストップ-ウオッチは使いません!)

2010-01-20 17:04:48 | マクロ作成のコツ

                   にほんブログ村 IT技術ブログへ


Q.マクロの終わる時間をストップウオッチで細かく正確に計るのって、大変でしょうね!?

A.実は、プロの現場ではプログラムの処理時間の測定にストップウオッチのような(人為的な古来の)物は使いません!(笑)

通常、処理時間を計るという場合にはプログラム内に関数を組み込んでおけば自動で時間の計測ができます。(しかも、いちいち手で測るよりずっと正確に詳細にできます。)


以下は、その「VBAの処理時間の計り方」の一番簡単なやり方のコード例です。


++++++++++++++++++++++++++++―
'Windows起動からの経過時間をミリ秒単位で取得する関数の宣言
Declare Function GetTickCount Lib "kernel32.dll" () As Long    '←32bitの場合(昔のpc)
Declare PtrSafe Function GetTickCount Lib "kernel32.dll" () As Long    '64bitの場合(※最近のpcは全部こっちです)

Sub Macro1()

  stTimer = GetTickCount

  測定する処理
    ・
    ・
    ・

  endTimer = GetTickCount

  Debug.Print "経過時間 = " & (endTimer - stTimer) / 1000 & "sec"

End Sub
++++++++++++++++++++++++++++―


ここで用いている GetTickCount という関数(WindowsAPI)は、時間をミリ秒単位(千分の1秒)で扱っていますので、

上記のように、最後に1000で割ってやれば分かりやすく秒単位での結果が得られます。

ちなみに、より正確にな時間測定をするのであれば、

起動中の他のソフトウェアを終了させた上で、これを数回実行してみて、その平均値なり、何度やってもほぼ毎回同じになるかどうか?ということをよく確認してくださいね。

(1回だけだと、たまたまタイミング悪く うらで何かの更新プログラム等が動いていたりして、正確な時間が測れないという場合も多々ありますので。)




無料メルマガの登録は、▼こちらから▼
       「Go! Go! エクセルマクロをはじめよう!」




コメント

オフィーススペシャリストの資格以上の・・・

2010-01-14 09:13:30 | よもやまな話
                   にほんブログ村 IT技術ブログへ



年末に実家に帰って、のんびりとテレビをみていましたら

(私、普段はあまりテレビは観ない人なので・・・)

おゃ、こんなコマーシャルやってるんだぁ~

と思って、ちょっと驚いたのが

マイクロソフトのCMです。


その内容はと言うと、

就職試験の面接で「御社の社風に引かれて・・・」

とかを熱く語る若者の姿。


でも、

その人の履歴書の資格欄には「普通自動車免許」だけ。


それでは

「ただのフツーの人だ!」



という落ちがあり、だから

「オフィーススペシャリストの資格を取ろう!」

といった内容のCMです。



私、その手のIT系の資格にはまったく興味がない人間なので

その昔、会社に半ば強要されて当時の情報処理の資格は
いくつか取ったものの、

こうして長年、IT業界のど真ん中にいる中で周りを見渡してみても、

資格を持っている人が必ずしも仕事が出来る人ではない。

と言うか、

むしろ、その逆のケースが(高度な資格を持っていても全然仕事の

出来ない人の方が)遥かに多かったので、

IT系の資格というのは殆ど信用しておりません。


確かに、オフィーススペシャリストみたいなソフトの操作を問う
資格であれば、

就職面接の履歴書上なら

 Excelできます! < Excleの資格持ってます!

と評価されることは間違いないとは思いますので

CMでのマイクロソフトの主張は一理あるとは思いまが、


でも、もう一歩進んで言うと


資格:Excleの資格持ってます! < 特技:Excleのマクロできます!


と、この方が遥かにインパクトが大きく、

企業の採用担当の目を引くことは間違いないだろうと思います。



私もその昔、会社の採用推進チームというのの一員だったことが
あるんですが、

沢山の履歴書の中から、まずは目ぼしい人の当たりをつけて
仕分けをしなければならないという際に、

(まず一番最初に見るのは当然、表の写真と学歴になるわけですが)
必ず、二段目に目がいくのは資格と特技の欄ですね。


読者の皆さんの中にも、

現在実際に会社の採用担当をなさっているという方や
過去にその経験があるという方もあるかと思いますが、

そうでなくてももし、自分が採用する方の立場だったら・・・

と考えてみれば、

(すくなくとも普段から仕事でExcelを使っている人であれば
誰しも、)

 特技:Excleのマクロできます!

と書かれている履歴書の方が

その他大勢の「フツーの人」が書いた履歴書よりも

おのずと目を引かれ、興味が湧くであろうことは
間違いはないですよね?!


でも、こう言うと
「私、まだマクロできません!!」 


と思われる方も多いかも知れませんが、

なにも

「Excleのマクロできます!」 ではなくても、

「Excleのマクロやってます!」 もしくは、

「Excleのマクロ勉強してます!」

でよいわけです。


これならば、当メルマガ講座の読者であるならば

全員に該当する歴とした特技であると言えますよね。 




無料メルマガの登録は、▼こちらから▼
      「Go! Go! エクセルマクロをはじめよう!」




コメント

Excelで Let's go プログラミング

2010-01-13 10:44:15 | マクロ作成のコツ
にほんブログ村 IT技術ブログへ


通常、

プログラムを作る場合にはコンパイラー(コンピュータ言語を翻訳するもの)
と呼ばれるソフト(プログラムを書き込むエディタなどのプログラム開発環境
を含む)が必要となりますが、

Excel(Ms-Officeソフト)のマクロの場合にはそれが元々標準で装備
されていますので、

Excelさえインストールされているパソコンであれば、別途で
ソフト等のインストールや難しい設定をするといった手間は
まったくありません。(始める前に唯一必要なのは、セキュリティー
レベルの設定のみです。)


要するに、

普段からExcelを使用しているExcelユーザーの人であれば
「特別なソフト要らずで、誰にでも手軽に、すぐに始められる!」
というのが、Excelマクロの良い所です。



さぁ、今年こそマクロを始めましょう!!





■講座の情報

 ・セミナー開催情報 マクロ体験セミナー in 大阪

 ・公式学習教材 「エクセルマクロ成功の鉄則」教材セット



コメント

秋田県の新成人が・・・

2010-01-12 09:28:52 | よもやまな話
                   にほんブログ村 IT技術ブログへ



昨日、たまたま夕方のテレビニュースを見ていたら、

秋田県の何処かの市の新成人が暴れる様子が映っていて
一緒に見ていたうちの息子(高1)がちょっと驚いた口調で曰く

「秋田って日本一じゃなかったっけ?」


そういえば、

秋田県と言えば小中学生の全国学力テストでは
いつも上位になり褒め讃えられている県ですが、

必ずしも、

学力と行動というのは伴なうものではない
ということでしょうか?


(でも、まぁこれはどこでも毎年よくある風物詩(!?)
ですし、たまたまテレビに取り上げられてしまった
のが秋田県だったということなんでしょう、、、)



だからといって、

毎年この時期、あの光景をテレビで目にしていて
我々、上の世代が

「若者がこんなんでは日本の未来は・・・

なんて落胆する必要はまったくないですね。


例えば

先日の箱根駅伝の東洋大学柏原選手 

プロゴルフの石川遼さん 
のような


こんな日本でも物凄い若者というのがどんどん育ってきている
わけですし、

成人式ではめをはずして暴れてた新成人の多くもしかりで、
学業なり仕事なりはちゃんとがんばっていることでしょう
から


まだまだ

この日本の将来は見捨てたものではないと思うしだいです。







コメント