dポイントプレゼントキャンペーン実施中!

本来の業務ではないのですが、仕事上、あればずいぶん楽になるのにと思うところがあって、自分で本を買って勉強しようと考えています。
近所の書店でぱらぱらと立ち読みをしただけですが、読んでも理解できないせいか、どういったものが入門書として適当なのか。。。

まったくの初心者です。「マクロの記録」などで試してはみるのですが、中身を見ても何をしているのか良く分かりません。「今、こういう作業をしたからこれはこういう事かな?」と何となくやってみても、今やった事が繰り返されるだけで、同じような大量の仕事を片付ける事はできないでいます。たぶんループ(繰り返し?)の記述の仕方だけでも分かれば、かなり作業が楽になるのでしょうが。。。

ちなみに、マクロでやりたいことは、エクセル(またはCSVなどの)ファイルの不要な行・列を削除したり、他のシートを参照して必要な部分をコピー&ペーストしたりすることです。それほど高度な事ではないと思うのですが、できればほとんどの作業を自動化したいと思っています。

どうぞよろしくお願いします。

A 回答 (3件)

はじめまして。



マクロを勉強したいのであれば、検索サイトで「VBA」という言葉を検索してみてください。

「VBA」とはExcelやWordなどのマクロに使われているプログラミング言語です。

いきなり参考書を買っても自分に合わないと無駄になってしまいます。

まずは、知りたい項目を見つけること。
それから知りたい項目について多く書かれている本を買うのがいいと思います。

参考URL:http://www2.cty-net.ne.jp/~hidenori/index.html
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

確かに、本を買ってみたはいいけれど、必要な事が書いていなかった、というのはよくありますね。

まずは紹介してくださったサイトなどで勉強してみます。

ありがとうございました。

お礼日時:2004/09/10 20:24

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


参考にどうぞ

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=866895
    • good
    • 0
この回答へのお礼

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

ありがとうございました。

お礼日時:2004/09/10 20:27

マクロ記録でループに直したいなら、相対記録(記録終了ボタンの右にあるボタンを押した状態で記録)を使うとやり易いです。


セル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)あたりを覚えるとマクロの幅が広がります。
    • good
    • 0
この回答へのお礼

早速、例を挙げていただいての解説、ありがとうございます。

でも、びっくりいたしました。いきなりなんで。

よく読んで、参考にさせていただきます。
ありがとうございました。

お礼日時:2004/09/09 22:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!