|
では、それらのブックを保存しているフォルダーとは別のところに、マクロ実行ブック
を入れておくという前提で
Sub MyAverage()
Dim MyF As String
Dim WB As Workbook
Dim WS As Worksheet
Dim MyR As Range, C As Range
Const Ph As String = _
"C:\Documents and Settings\User\My Documents\Exl_Files\"
'↑処理対象のブックを保存しているフォルダーのバスを指定する
With Application
.DisplayStatusBar = True
.StatusBar = "★ 只今マクロ処理中です ★"
.ScreenUpdating = False
End With
MyF = Dir(Ph & "*.xls")
Do Until MyF = ""
Set WB = Workbooks.Open(Ph & MyF)
For Each WS In WB.Worksheets
If WorksheetFunction.Count(WS.Range("I:I")) > 1 Then
Set MyR = WS.Range("I:I").SpecialCells(2, 1)
For Each C In MyR.Areas
C.Cells(C.Count, 1).Offset(, 1).Value = _
WorksheetFunction.Average(C)
Next
Set MyR = Nothing
End If
Next
WB.Close True: Set WB = Nothing
MyF = Dir()
Loop
With Application
.StatusBar = False
.DisplayStatusBar = False
.ScreenUpdating = True
End With
MsgBox "処理が終了しました", 64
End Sub
で、出来ると思います。時間はかかるでしょうけど・・。
|
|