|
VBA初心者です。
こちらの過去ログから
「【25294】複数ブックの同名シート同セル位置の数値... 」
というのを参考にさせていただきまして
以下のようなマクロを作成しました。
といっても配列の項目を追加しただけです。
マクロを実行すると「実行時エラー'9’:
インデックスが有効範囲にありません。」という
メッセージが表示されてしまいます。
マクロで実現したいことは
ディレクトリ内の複数のブックの
同じ形式のシート(2月第1週〜2月第5週)
の5項目をコピーしてそれを別ブックの一つのシートに
処理した順に貼り付けていくというものです。
このマクロではマクロ実行時にファイルダイアログボックスが
表示されるのですが、指定したディレクトリ内の
ファイルを全て処理するということも
可能なのでしょうか。
どなたかご存知の方がいらっしゃいましたら
ご教授ください。よろしくお願い致します。
Sub test()
'対象シート名の配列
ArySht = Array("2月第1週", "2月第2週", "2月第3週", "2月第4週", "2月第5週")
'対象セルの配列
AryRng = Array("D4", "D5", "D6", "R58", "T58")
BNM = Application.GetOpenFilename(".XLS,*.XLS", , "作業報告書", , True)
If TypeName(BNM) <> "Boolean" Then
For Each BUF In BNM
XT = Split(BUF, "*")
STR1 = "='" & Left(BUF, Len(BUF) - Len(XT(UBound(XT)))) & "[" & XT(UBound(XT)) & "]"
For Each SHT In ArySht
For Each RNG In AryRng
STT = STR1 & SHT & "'!" & RNG
With Sheets(SHT).Range(RNG)
i = .Value
.Value = STT
.Value = .Value + i
End With
Next
Next
Next
End If
End Sub
|
|