Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


38003 / 76732 ←次へ | 前へ→

【43875】文字列の置換2
質問  miwa  - 06/10/27(金) 12:30 -

引用なし
パスワード
   こちらで教わり、マクロを実際に動かしてみたのですが、
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

0 hits

【43875】文字列の置換2 miwa 06/10/27(金) 12:30 質問
【43880】Re:文字列の置換2 neptune 06/10/27(金) 15:04 発言
【43881】Re:文字列の置換2 ichinose 06/10/27(金) 19:30 発言
【43891】Re:文字列の置換2 訂正 ichinose 06/10/28(土) 12:01 発言
【43933】Re:文字列の置換2 訂正 miwa 06/10/30(月) 9:26 質問
【43935】Re:文字列の置換2 訂正 りん 06/10/30(月) 10:15 発言

38003 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free