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

誰か詳しい方教えてください。

    A   B   C
1 taro
2 ichiro
3 ziro
4 saburo
5 siro
6 goro


 あるワークシートに、上述のようにA1~A6まで名前が記入された内容があります。
これらの内容をA1~A6まで、ワンクリックで順番に全て自動にファイルを開き、同じ作業をマクロで
行いたいです。
 また、それぞれの名前には、複数回(3回分)の試行回数が含まれており、例えば3回程の試行
のexcelシートがあります。
 ※A1~A6に記載されているのは、ファイル名です。excelシート名は全て、その氏名が記載されているファイル名の中の【1回目】、【2回目】、【3回目】と共通した内容です。

 たとえば、【ファイル】⇒【taro】⇒【1回目】、【2回目】、【3回目】の順で、excelシートを順に開き、シートを開いたあとは、作業内容が記録されたマクロの作業を行い、3試行が終わったら自動的にファイルを閉じて、次のシートやファイルに移行するように手順を進めていき、
【taro】の3試行が終了すると、
 次の【ファイル】⇒【ichiro】⇒【1回目】、【2回目】、【3回目】の順で、excelシートを開いていき、同様に作業を進めていきたいのです。
 
 【解析人数】×【試行回数】が膨大な量になるため、全てが同じ作業のため、あるワークシートの情報から、自動的に開いて解析し、Excelシートを保存し、閉じた後に次の作業にいくというように、一連の流れを作成したいです。
 いろいろと調べてみていますが、中々うまくできません。
 作業内容が多く、大変ご迷惑をおかけしますが、ご指導のほどお願い致します。

A 回答 (3件)

'こんな感じでしょうか?



dim i1 as integer
dim i2 as integer
dim TargetWorkBook As Workbook

for i1=1 to 6
 Set TargetWorkBook = Workbooks.Open(Range("A" & i).value & ".xls")
 for i2=1 to 3
  '実行させたいサブルーチン(マクロ)を呼ぶ
 next
TargetWorkBook.Save
TargetWorkBook.Close
next
    • good
    • 0
この回答へのお礼

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

Set TargetWorkBook = Workbooks.Open(Range("A" & i).Value & ".xls")

のところでうまくファイルとエクセルシートを開く事ができませんでした。
何か特別な設定方法が必要でしょうか??
何度もすみません...

お礼日時:2012/06/12 07:22

要はこういうことですね。



Set TargetWorkBook = Workbooks.Open( Path & Range("A" & i).Value & ".xls")

Pathがパス名です。
パス名を入れる変数をPathとし、上記が実行される前にパスを定義してください。
    • good
    • 3
この回答へのお礼

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

お礼日時:2012/06/13 06:56

>Set TargetWorkBook = Workbooks.Open(Range("A" & i).Value & ".xls")


>のところでうまくファイルとエクセルシートを開く事ができませんでした。

例が悪かったですね。
これだとファイル名だけになりますので、ファイル名の前にPATH名を入れてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/06/13 06:57

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

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