|
こちらで教わり、マクロを実際に動かしてみたのですが、
D:\miwa\【QZ】\DB\営業所\当年\1.国内\商品別\Aという
様な階層になっており、実はDBフォルダの下には
30個位のフォルダがあります。
DBフォルダ以下全てのフォルダの中にある
エクセルファイルの全シートの文字列を一気に置換したいのです。
一つ一つフォルダの中にマクロブックをおいてやってみたのですが、
かなり時間のかかる操作で、これでは終わらない(ToT)/~~~
どの部分を直せば、よいのでしょうか?
Sub 置換()
Dim ws As Worksheet
Dim wb As Workbook
Dim strPath As String
Dim strFileName As String
Set ws = ActiveSheet
'ブックが格納されているフォルダ(マクロブックと同じフォルダの場合)
strPath = ThisWorkbook.Path
strFileName = Dir(ThisWorkbook.Path & "\*.xls")
Do Until strFileName = ""
If strFileName <> ThisWorkbook.Name Then
'ブックを開く
Set wb = Workbooks.Open(strPath & "\" & strFileName)
'開いたブックをのすべてのシートをひとつずつアクティブにする
For Each ws In Worksheets
ws.Activate
Cells.Replace What:="2007年", Replacement:="翌年", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Cells.Replace What:="2006年", Replacement:="当年", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next
'開いたブックを上書き保存する
wb.Save
'開いたブックを上書き保存しない
'wb.Saved = True
'開いたブックを閉じる
wb.Close
End If
strFileName = Dir()
Loop
End Sub
|
|