こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルファイルの一括変換・処理方法について

エクセルファイルの一括変換・処理方法についてお聞きしたいことがあります。100行3列の数値データを持つエクセルファイルがあるとします。4列目に計算式例えば、D1=A1*B1をD列にフィルする作業を自動的に行い、かつ複数の、同様なデータを持つエクセルファイルにも一括して同一作業を行う方法を、どなたかご教授くださいませんでしょうか?おそらくマクロを使うこととなるかもしれませんが、もしそうでしたらそのマクロについてもお教えいただけるとありがたいです。よろしくお願いいたします

投稿日時 - 2008-01-08 03:34:58

QNo.3660121

困ってます

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

「新しいマクロの記録」で操作をそのままマクロにすることができますよ

他のブックに対しても同じ操作を行なうのであれば、マクロの記録先を 「個人用マクロブック」 にすることで
始めにマクロを適用したブックを閉じた後も新しく開いたブックに対して同じマクロを使うことができるようになります

ツール → マクロ → 新しいマクロの記録 → マクロの保存先に「個人用マクロブック」を指定 → OKボタンをクリックでマクロの記録が始まります
(ショートカットキーに「m」など設定すると続けてマクロを実行するときに Ctrl + m で記録したマクロを即実行でき便利です)
 ↓
D1セルに数式を入力
 ↓
D1セルからD100セルまで選択
(左上の名前ボックスに D1:D100 と入力すると速く確実。
 D1セルを選択後シートをスクロールさせてD100セルを表示させ、Shiftキーを押しながらD100セルをクリックしてもOK。
 D100セルからD1セルに向けてマウスで選択してもOK。
 選択方法は問いません)
 ↓
Ctrlキーを押しながらDキーを押して数式をフィルコピー
(編集 → フィル → 下方向へコピー でもOK)
 ↓
ファイル → 上書き保存
(Ctrlキーを押しながら Sキーを押してもOK)
 ↓ 
ファイル → 閉じる
 ↓
ツール → マクロ → 記録終了

これで終りです
「上書き保存」「閉じる」は好みによって削除してもらって結構ですが
続けて作業をするのであれば閉じる所まで含めたほうが良いでしょう

マクロでブックを指定して開くことも可能ですが、ブックのファイル名をひとつずつ入力する手間をかけるよりも
ブックを指定して開き上記のマクロを Ctrl + m などのショートカットから実行した方が早いです

投稿日時 - 2008-01-08 07:19:23

補足

Cupper様、有難うございました!!
ご教授していただいた方法で何とかうまくいきました。
エクセルのマクロというのは、プログラム用の言語で書かなくてはいけないとばかり思っていましたが、書かなくても動作を記録してもくれるとは思っていませんでした。目から鱗でした。

ところでですが、複数のファイルのデータが、それぞれ違う行数であった場合、それを考慮してマクロを実行させるというのは、やはり難しいのでしょうか?

投稿日時 - 2008-01-09 19:01:33

お礼

Cupper様、有難うございました。
いくつかマクロを組み合わせることで何とか行数が違うファイルの成形を行うことが出来ました。
おかげさまでマクロの入り口に立てることが出来ました。
重ね重ねお礼を申し上げます。

投稿日時 - 2008-01-10 19:25:57

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

マクロのことを言うからには(質問者が初心者なら特に、これしかない)、操作をやってマクロの記録を採って考えてみるべきです。全てを回答者に頼るのはダメです。
マクロの記録をとってみると、冗長な点があるので、私がすっきりさせたのを下に参考までに挙げます。
Sub Macro1()
Range("D1").Formula = "=A1*B1"
Range("D1").AutoFill Destination:=Range("D1:D100"), Type:=xlFillDefault
End Sub
(1)課題1 式の設定と式の複写は上記コードで間に合うでしょう。
(2)課題2 同様なデータを持つエクセルファイルにも一括して同一・・
これはVBAでも上級の作業です。今からVBAをやる人には適当でない課題です。
当面上記コードを該当ブックを開いて実行することをしましょう
(3)課題3 1回上記コードを作ると、他ブックでも実行できる方法は、と言う大きいテーマがありますが、
http://www.relief.jp/itnote/archives/002060.php
>「PERSONAL.XLSファイルが存在している場合、Excelが起動する際に非表示状態でPERSONAL.XLSも一緒に開かれているので、個人用マクロブックに保存したマクロは、どのExcelファイルからでも利用することができるようになっています」
を参考に、「PERSONAL.XLSに(>マクロの保存先]コンボボックスから保存先を選ぶことができ、「個人用マクロブック」に保存しましょう。そしてその通り他のブックを対象に動くかやってみてください。
ーー
「フォルダの中の指定複数エクセルブックを見つけ、シートに対しある(同じタイプの)作業をする」のコードは少しVBAに慣れてから質問したら。

投稿日時 - 2008-01-08 12:58:08

お礼

imogasi様、コメント有難うございます。
韓国語を見れば、あ、これは韓国語だなとわかるけど、内容はわからない、と同じレベルでしか、マクロのことはわかりませんし、今までのところ使う機会にあまり恵まれませんでした。しかし皆様の回答を拝見して、マクロが使えたら便利だなと思いました。これから少しづつ精進していきます。有難うございました。 

投稿日時 - 2008-01-09 19:12:48

あなたにオススメの質問