フォルダー内の文字列置換
シート名が変更のあるブックが指定されたフォルダーの中に複数ある。
変更シートの決まったセルの場所1行2列の文字を置き換える
置換前:税抜き
置換後:税込
税抜の文字がどこかにあれば置換える。
変更するブックを準備しておく。
変更データは色々ある。
置換1
1行2列のセルの文字を無条件ですべて税込で置換える。
部品集(ファイル関連)http://vba.asai.net/buhinbook.html
フォルダー内のすべてのファイルを処理するを使う。
Sub 置換1()
Dim keisan As Long
Dim buf As String
Dim Path As String
Path = "D:\文字列置換\指定1\指定11\"
buf = Dir(Path & "*.xlsx")
Do While buf <> ""
Workbooks.Open Path & buf
Worksheets("変更").Cells(1, 2) = "税込"
ActiveWorkbook.Close
buf = Dir()
Loop
End Sub
置換2
確認メッセージを出さないようにする。
Sub 置換2()
Dim keisan As Long
Dim buf As String
Dim Path As String
Path = "D:\文字列置換\指定1\指定11\"
buf = Dir(Path & "*.xlsx")
Do While buf <> ""
Workbooks.Open Path & buf
Worksheets("変更").Cells(1, 2) = "税込"
Application.DisplayAlerts = False
ActiveWorkbook.Close SaveChanges:=True
Application.DisplayAlerts = True
buf = Dir()
Loop
End Sub
置換3
税抜きの文字がどこかにあれば税込に置き換える
部品集(関数)http://vba.asai.net/buhinfu.html
文字列の位置を返す関数InStrを使って文字があれば0でない条件で置換える。
Sub 置換3()
Dim keisan As Long
Dim buf As String
Dim Path As String
Path = "D:\文字列置換\指定1\指定11\"
buf = Dir(Path & "*.xlsx")
Do While buf <> ""
Workbooks.Open Path & buf
If InStr(Cells(1, 2), "税抜き") <> 0 Then
Cells(1, 2) = "税込"
End If
Application.DisplayAlerts = False
ActiveWorkbook.Close SaveChanges:=True
Application.DisplayAlerts = True
buf = Dir()
Loop
End Sub