実現したいこと
excelのVBAでブック全体の数式をセルの値を参照して、一括置換えをしたいのですが、調べてもわかりません。
よろしかったら教えていただけると助かります。
前提
例 シート1 A1セル [2023.03月 伝票.xlsm] A2セル [2023.04月 伝票.xlsm]
ブック全体の参照月をシート1のA1からA2に置換える
ThisWorkbook.WorkSheets("シート1").Cells.Replace What:="置換したい文字列", Replacement:="置換後の文字列"
上記みたいに置換える文字列が確定しているならいいのですが、変わるため毎回打ち込むと間違いが起こる可能性が高いです。
また、置換えも同様に間違えが起こる可能性があるので。
ブック全体を置換えると、A1セルも置き換わってしまうことになりますが、書式の色で区別しているので、そこはクリアできていると思います。
発生している問題・エラーメッセージ
下記の構文だと、指定したシートのみの置換えになってしまう。
該当のソースコード
’置換えるべき数式のセルの書式設定
With Application.FindFormat.Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.599963377788629
.PatternTintAndShade = 0
End With
With Application.ReplaceFormat.Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent6
.TintAndShade = 0.599963377788629
.PatternTintAndShade = 0
End With
’ブック全体にシート1のA1セルの値をA2に置換え
ThisWorkbook.Worksheets("シート1").Cells.Replace What:=Range("A1").Value, Replacement:= _
Range("A2").Value, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:= _
False, SearchFormat:=True, ReplaceFormat:=True, FormulaVersion:= _
xlReplaceFormula2
試したこと
駆け出しで、マクロの記録をしてみたり、あれこれと調べましたが、セルの値を使っている例がなかったのでよろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー