プロが教えるわが家の防犯対策術!

windowsXPを使用しています。
Excelで同じフォームのブックが300ほどあります。
この300のブックのA1というセルに、全て同じ値を入力したいのですが、
効率的な方法がありましたら教えていただけますでしょうか。
(社員1名につき1つのブックがあるのですが、社名変更のため、
全てタイトルを変更しなければなりません。
なお、全社員ともフォームは同じですが、ブックの数や、シート名は異なります。)

同じブック内での複数シートへの入力であれば、
作業グループで一度にできると思いますが、異なるブックの場合、
作業グループも使えないため、どうすればよいのか分かりません。
やはり全てのブックを開いて一つ一つコピペするしかないのでしょうか?

お忙しいところ恐れ入りますが、よろしくお願いいたします。

A 回答 (4件)

No2の者です。


解決されましたでしょうか?
まだでしたら、ちょっとマクロを作ってみましたのでお試しください。
(私も人様に教える程のスキルは無いので恥ずかしいですが・・・。)

えーと、任意のフォルダに300ほどのファイルを入れ(=子分ども)、新規エクセルファイルを作り(=親分)同一フォルダに入れます。親分の標準モジュールに以下のコードをコピーして下さい。8行目の"お好きな文字"を更新したい文字に変え、マクロを実行すると一気に書き換わることと思います。
ミソは8行目の「Worksheets(1)」です。これで、「このブックの1枚目のシート」という意味になります。
健闘を祈ります♪
--------------------------------------
Sub A1にお好きな文字()
Dim Myfile, Filepath As String
Filepath = ThisWorkbook.Path & "\"
Myfile = Dir(Filepath)
Do While Myfile <> ""
Workbooks.Open Filename:=Filepath & Myfile
Workbooks(Myfile).Activate
Worksheets(1).Cells(1, 1).Value = "お好きな文字"
ActiveWorkbook.Save
Myfile = Dir()
Loop
End Sub
--------------------------------------
    • good
    • 4
この回答へのお礼

お礼が遅くなって申し訳ありません!
ご丁寧に教えていただきありがとうございました。
上記のマクロで一気に変更できました!

ただ、その他にも問題が発生しまして、変更する場合は直前のシートを
同じブックの中にコピーした上で、変更することになっています。
(過去の履歴を残すため)
なので、シートの移動またはコピーのマクロも組む必要があります。

更にこれらのexcelファイルには全てPWロックがかかっているため、
マクロを実行する度に、PWを聞いてくるので、全ブック分入力しなくてはならず。。。
さすがにPWを自動で入力してくれるマクロは分からないので、
今回は地道にやるしかないかぁというのが結論です。

とはいえ、tamago800さんに教えていただいた上記のマクロは
別のexelファイルで活かせますので、活用していきたいと思います。
ご親切にありがとうございました(^^)

お礼日時:2007/11/02 09:24

同一フォルダにあること


Sheet1(など)同一シート名にあること
セルはA1で一定
という条件で、VBAでやるしかないと思います。
あるいはシートの列にファイル名(英一部氏名を含む名称)になりうるデータ(例氏名)ガあるとか、でVBAで処理する。
こういうときにエクセルで別ブックにすると統一的変更に困る。
    • good
    • 1
この回答へのお礼

早速のご回答ありがとうございます。
シート名は社員名になっており、全員異なっています。
しかも本部毎のフォルダに入ってしまっています。。。
とはいえ、本部は6つなので、6回同じ作業をやるか、
一つのフォルダにまとめて、後でばらすことも可能です。
また、シート名は社員名なのですが、必ずそれぞれのシートの同じセルに社員名が入っています。
何か手がかりがありましたら教えていただけると助かります。

P.S.
ちなみに、最近転職したのですが、既にこのような運用になっていました。
他によい管理方法はないものかと考えており、将来的にはAccessに変えようかと考えています。
ただ、Accessを使えるのが部署で私だけなのが問題なのですが。。。

お礼日時:2007/10/29 13:25

300もあるのでしたら、ぜひマクロで更新してしまいたいですね。


シート名が全て同じなら、初歩的なマクロで一度に更新することが可能なのですが・・・。
あるいは、更新したいシートが、必ず一番最初(左側)に配置されているとか、マクロを組むにあたっての、なんらかの規則性はないのでしょうか?
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
シート名は社員名になっており、全員異なりますが、
更新したいシートが一番左側に配置はされています!
この条件でマクロを組むことができるということですよね。
少し光が見えてきました。

ただ、簡単なVBAなら少しやったことはあるのですが、複雑なものは組んだことがありません。
自分でも探してみますが、もし参考になるサイト等をご存知でしたら教えていただけると幸いです。

お礼日時:2007/10/29 13:10

>やはり全てのブックを開いて一つ一つコピペするしかないのでしょうか?



マクロでも手作業でも手順は変わりません。
作業者(個人)に指示することで対応できないのでしょうか?
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
私が作業者なので、何とか効率的にできる方法がないかと苦慮しているところです。マクロを組むにしても同じくらいの作業量だとすれば、一つ一つやるしかないですね。

お礼日時:2007/10/29 13:07

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A