• ベストアンサー

Excelのマクロを勉強したいのですが

本来の業務ではないのですが、仕事上、あればずいぶん楽になるのにと思うところがあって、自分で本を買って勉強しようと考えています。 近所の書店でぱらぱらと立ち読みをしただけですが、読んでも理解できないせいか、どういったものが入門書として適当なのか。。。 まったくの初心者です。「マクロの記録」などで試してはみるのですが、中身を見ても何をしているのか良く分かりません。「今、こういう作業をしたからこれはこういう事かな?」と何となくやってみても、今やった事が繰り返されるだけで、同じような大量の仕事を片付ける事はできないでいます。たぶんループ(繰り返し?)の記述の仕方だけでも分かれば、かなり作業が楽になるのでしょうが。。。 ちなみに、マクロでやりたいことは、エクセル(またはCSVなどの)ファイルの不要な行・列を削除したり、他のシートを参照して必要な部分をコピー&ペーストしたりすることです。それほど高度な事ではないと思うのですが、できればほとんどの作業を自動化したいと思っています。 どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

はじめまして。 マクロを勉強したいのであれば、検索サイトで「VBA」という言葉を検索してみてください。 「VBA」とはExcelやWordなどのマクロに使われているプログラミング言語です。 いきなり参考書を買っても自分に合わないと無駄になってしまいます。 まずは、知りたい項目を見つけること。 それから知りたい項目について多く書かれている本を買うのがいいと思います。

参考URL:
http://www2.cty-net.ne.jp/~hidenori/index.html
tokyoboy
質問者

お礼

回答ありがとうございます。 確かに、本を買ってみたはいいけれど、必要な事が書いていなかった、というのはよくありますね。 まずは紹介してくださったサイトなどで勉強してみます。 ありがとうございました。

その他の回答 (2)

  • biwajima
  • ベストアンサー率20% (29/140)
回答No.3

以前マクロ入門書についての質問がありました。 参考にどうぞ

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=866895
tokyoboy
質問者

お礼

回答ありがとうございます。 参考になります。 どれが自分に合うのか、実際に見て購入しようと思います。 ありがとうございました。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

マクロ記録でループに直したいなら、相対記録(記録終了ボタンの右にあるボタンを押した状態で記録)を使うとやり易いです。 セルA1を選択した状態から相対でマクロ記録を始めて、A1に1を入力してからA3を選択してから終了させると下記の記述になります。 Sub Macro1()   ActiveCell.FormulaR1C1 = "1"   ActiveCell.Offset(2, 0).Range("A1").Select End Sub 意味は「アクティブセルに1を代入」「アクティブセルから2行下で、同じ列(0列)を選択」です。 これをループで100回繰り返させ、ついでに代入する値も変化させます。 Sub Test1()  For i = 1 To 100   ActiveCell.FormulaR1C1 = i   ActiveCell.Offset(2, 0).Range("A1").Select  Next i End Sub これだとスタートするセルが実行時のアクティブセルに依存するので、あくまでスタートするセルはいつも同じセルにするため、ループに入る前に記述を加えます。 Sub Test2()  Range("A1").Select  For i = 1 To 100   ActiveCell.FormulaR1C1 = i   ActiveCell.Offset(2, 0).Range("A1").Select  Next i End Sub ちょっと書き換えると結構便利になります。 For ~ Next と Do ~ Loop 、あとは IF文(IF ~ Then ~ End IF)あたりを覚えるとマクロの幅が広がります。

tokyoboy
質問者

お礼

早速、例を挙げていただいての解説、ありがとうございます。 でも、びっくりいたしました。いきなりなんで。 よく読んで、参考にさせていただきます。 ありがとうございました。

関連するQ&A