A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
コードの訂正です。
最後から13行目を次のように訂正してください。
このコードを設定したブックが、検索用ホルダにある場合、自身の検索を除外します。
If Mypath & FName = ThisWorkbook.FullName Then FName = Dir
No.2
- 回答日時:
> 複数ファイルの内容を一括変換する方法はありますでしょうか?
VBAを使用することにより、一括置換えることが、出来ます。
該当するブックのホルダが、どのように分布しているのかが分りませんので、
ここでは、1つのホルダを指定して、その中の全てのブック(.xls)を検索し、
見つかったら、全て置換えるように、作ってみました。
宜しかったら、新規ブックでテストしてみてください。
一応、ご存知とは思いますが、操作手順を詳しく書いて置きます。
1.Alt + F11 で VBE(Visual Basic Editor)を開きます。
2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。
3.モジュールウィンドウに下記コードをコピーして貼り付けます。
4. コードの 2~4 行目の " " の中を実情に合わせて変更します。
5.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。
6.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を
「中」にして[OK]します。
7.実行するときは、Alt + F8 (メニューから[ツール]-->[マクロ]-->[マクロ])で
「フォルダ内ブック文字列置換え」を指定し、[実行]ボタンを押します。
これで、全部置換えになると思います。
・ 検索対象ブックのシート内で、他ブックのセル参照が設定されている場合は、
その旨のダイアログボックスが表示されます。
・ 検索を終了すると、検索対象ブック数と、置換え総件数が表示されます。
Sub フォルダ内ブック文字列置換え()
Const Mypath = "C:\DATA\" ' <--- 検索フォルダ名を指定
Const OldStr = "0123-45-6789" ' <--- 置換え旧文字列
Const NewStr = "0123-98-7654" ' <--- 置換え新文字列
Dim WB As Workbook
Dim Rng As Range
Dim FName As String
Dim Bcnt As Integer
Dim Dcnt As Integer
Dim Scnt As Integer
Dim N As Integer
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.DisplayAlerts = False
FName = Dir(Mypath & "*.xls", vbNormal)
Do While FName <> ""
Set WB = Workbooks.Open(Mypath & FName)
Bcnt = Bcnt + 1
Scnt = 0
Windows(WB.Name).Visible = False
For N = 1 To WB.Worksheets.Count
Set Rng = WB.Worksheets(N).Cells.Find(OldStr)
If Not Rng Is Nothing Then
Scnt = Scnt + 1
Do
Rng.Value = Replace(Rng.Value, OldStr, NewStr)
Dcnt = Dcnt + 1
Set Rng = WB.Worksheets(N).Cells.FindNext(Rng)
Loop Until Rng Is Nothing
End If
Next N
If Scnt = 0 Then
WB.Close SaveChanges:=False
Else
Windows(WB.Name).Visible = True
WB.Close SaveChanges:=True
End If
FName = Dir
If FName = ThisWorkbook.FullName Then FName = Dir
Loop
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
If Bcnt = 0 Then
MsgBox "指定したフォルダに、ブックは見つかりませんでした。", , "検索完了"
Else
MsgBox Bcnt & " のブックを検索し " & Dcnt & " 箇所を書換えました。", , "置換え完了"
End If
Set WB = Nothing
Set Rng = Nothing
End Sub
No.1
- 回答日時:
OfficeGrep
http://www.vector.co.jp/soft/win95/util/se190183 …
などのソフトを利用するのがお手軽です。
あるいは、マクロ、VBAを利用すれば処理可能ですので、こちらに挑戦してみる方が良いかも。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- 格安スマホ・SIMフリースマホ MVNOの携帯を使っています。 ISPに電話番号変更希望を伝えた所、『解約新規の対応が必要になる。S 4 2023/03/09 22:56
- Word(ワード) ワードフォント 一括置換の方法 4 2022/12/31 00:27
- Excel(エクセル) エクセルにおいてセル内の文字を出来るだけ大きく表示する方法を教えてください。 4 2022/07/30 08:08
- プロバイダー・ISP NTTグループカードの終了 2 2023/02/17 11:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
マクロの保存先、開いてるすべ...
-
【Excel VBA】マクロでExcel自...
-
エクセルで未保存に対するメッ...
-
名前の変わるブックをアクティ...
-
エクセル;相対パスを絶対パスへ...
-
エクセルVBAで作成した別ブック...
-
【Excel】マクロの保存先について
-
EXcelのマクロで相対パスでファ...
-
excelで直前に参照していたブッ...
-
複数のExcelブックを1つ...
-
Excel VBEを起動しようとしたら...
-
エクセルのvbaにて thisworkboo...
-
エクセル 半角カナを全角に、...
-
個人用マクロブックが消えました
-
エクセルVBA 個人用マクロブッ...
-
EXCELブックが勝手に開いて困っ...
-
EXCELマクロで、開いてはいるが...
-
EXCEL VBA セルから...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
エクセル;相対パスを絶対パスへ...
-
マクロの保存先、開いてるすべ...
-
【Excel】マクロの保存先について
-
excelで直前に参照していたブッ...
-
EXcelのマクロで相対パスでファ...
-
エクセルVBAで作成した別ブック...
-
複数のExcelファイルの印刷設定...
-
エクセルのvbaにて thisworkboo...
-
EXCELのボタンによるマクロの登...
-
エクセルVBA 個人用マクロブッ...
-
EXCELマクロで、開いてはいるが...
-
EXCELブックが勝手に開いて困っ...
-
エクセルで未保存に対するメッ...
-
[フィルターオプションの設定]...
-
【Excel】特定セルの内容をテキ...
-
ファイル名変更後も、マクロを...
-
名前の変わるブックをアクティ...
おすすめ情報