ブックにWk1、Wk2 Wk3という名前のワークシートがあります。 WK1シートでVBAを使用してコピーされたExcel式の名前を変更する必要があります
すべての式を以下の名前にプレフィックスWK1を変更するために、私はコードを使用する他のシートのいずれかにWK1シートからの数式をコピーした後WK1例えば= Wk1MonWeight
が付けていますWk1MonWeightをコピーしてWk2シートにコピーした後、数式は= Wk2MonWeightになります。このコードは機能します。
Sub Step2ChangeWkNamesInFormulasOnNewWksheet()
Dim ws As Worksheet
Dim r As Range
For Each ws In Worksheets
If InStr(1, ws.Name, "Wk", 1) > 0 Then
For Each r In ws.Range("C116:I119")
r.Formula = Replace(r.Formula, "Wk1", r.Parent.Name)
Next r
For Each r In ws.Range("C184:J188")
r.Formula = Replace(r.Formula, "Wk1", r.Parent.Name)
Next r
For Each r In ws.Range("E341:AY341")
r.Formula = Replace(r.Formula, "Wk1", r.Parent.Name)
Next r
End If
Next ws
MsgBox "Done"
End Sub
私は+平均にコピーされるシートの直前のシートの名前にWK1からプレフィックス変化するように、以下のコードの一部を変更したいです。 例えば式= Wk1MonWeightが、それは誰もがこれを助けることができる= Wk3AvgWeight
For Each r In ws.Range("E341:AY341")
r.Formula = Replace(r.Formula, "Wk1", r.Parent.Name)
Next r
なりWK4シートにWK1シートからコピーされます。
はあなたの説明によると、これはそれを行う必要があります
を明確にしてください:最初の式は常に '' Wk1'した後Mon'が含まれていますWk1を前のシートの名前に置き換え、「Mon」を「平均」に置き換えたいとします。それは正確ですか? –
はい初期式には常にMonが含まれています。はい、前のシート名でWk1を置き換えます。新しい式が= Wk3AvgWeight – frustrationmultiplied