2017-10-27 18 views
1

1から90までのプロジェクトのリストがあります。200行までの各プロジェクトの同じ行にあるすべての数式に、正しいプロジェクト番号にリンクする数式を含める必要があります。VBAのすべての行とすべての列を検索して置換します

A1:

Project 1 

B1:例えば

=IFERROR('C:\Users\z003th4b.AD009\Desktop\Gross margin bridges\Projects\[Project (1).xlsm]Nov 17'!$D$3;" ") 

C1:

=IFERROR('C:\Users\z003th4b.AD009\Desktop\Gross margin bridges\Projects\[Project (1).xlsm]File_Setup'!$D$17;" ")` 

A2:

Project 2 

B2:

=IFERROR('C:\Users\z003th4b.AD009\Desktop\Gross margin bridges\Projects\[Project (2).xlsm]Nov 17'!$D$3;" ") 

C2:

=IFERROR('C:\Users\z003th4b.AD009\Desktop\Gross margin bridges\Projects\[Project (2).xlsm]File_Setup'!$D$17;" ") 

など90件のプロジェクトまで。

現在、私は

Sub macro() 
    ActiveCell.Range("A31:BH90").Select 
     Selection.Replace What:="Project (1)", Replacement:="Project (2)", LookAt:= _ 
     xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
     ReplaceFormat:=False 
    ActiveCell.Offset(62, 0).Range("A31:BH90").Select 

end sub 

を使用していますし、動作するようには思えません。私はVBAのために絶対に新しいですので、私はどんな助けも感謝します。感謝!

+1

あなたの範囲は、行31から始まりますので、A1のデータを持っている場合、このマクロはそれを欠場します。 – J3NKO

+0

これまでのすべてのプロジェクトはOKなので、A31から検討を開始するにはコードを作成する必要があります。それは私が推測するVBAのために問題ではないはずです.. –

+0

'それは動作していないようです。問題のあらゆる種類の非常に有用な説明ではありません。 – jsotola

答えて

0

試してみてください。

Sub Macro() 
    ActiveCell.Range("A1:BH90").Select 
     Selection.Replace What:="Project (1)", Replacement:="Project (2)", LookAt:= _ 
     xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
     ReplaceFormat:=False 
    ActiveCell.Offset(62, 0).Range("A1:BH90").Select 

End Sub 
+0

どうもありがとうございます、どうすればいいですか?行90までコピーしたすべてのプロジェクト1が次のプロジェクト1プロジェクト2などに変わります。 –

+0

変数を割り当てる必要があります。 @ラルフの答えはあなたにいくつかのヒントを提供することができます。 –

関連する問題