2016-08-25 10 views
2

私は現在VBスクリプトを初めて作成しようとしていますが、私はこの新しい言語に苦労しています。 新しいワークブックに複数のワークシートをコピーし、計算された値で式を置き換える必要があります。VBA別のワークブックにコピーする際にVBAスクリプトの値を変換する

私は新しいワークブックで2つのワークシートをコピーすることに成功しましたが、自分のサブメソッドを使用して数式を値に変換する方法を理解していません。

これは私がこれまで持っているコードです:私は今、必要なのは、値を持つ式を変換、コピーの際に、ある

Sub myMacro() 
    Dim wb As Workbook 
    Set wb = Workbooks.Add 
     ThisWorkbook.Sheets("SHEET_1").Copy Before:=wb.Sheets(1) 
     ThisWorkbook.Sheets("SHEET_2").Copy Before:=wb.Sheets(1) 
    wb.SaveAs "newWB.xlsx" 
End Sub 

。 おかげで私のコメントに続いて

+0

セルの値を式で計算された値に設定するだけです。 Range( "A1:Z1000").Value = ThisWorkbook.Sheets( "SHEET_1")。Range( "A1:Z1000")。 Z1000 ")を必要に応じて入力します。 – Jordan

+0

それは動作しますが、自分の数式をソースブックに変更するのではなく、自分の宛先でのみ変更したいと考えています。 – Delfalso

答えて

1

、これを試してみてください。

Sub myMacro() 
Dim wb As Workbook 
Set wb = Workbooks.Add 
    ThisWorkbook.Sheets("SHEET_1").Copy Before:=wb.Sheets(1) 
    ThisWorkbook.Sheets("SHEET_2").Copy Before:=wb.Sheets(1) 
    wb.Sheets("SHEET_1").Range("A1:Z1000").Value = wb.Sheets("SHEET_1").Range("A1:Z1000").Value 
    wb.Sheets("SHEET_2").Range("A1:Z1000").Value = wb.Sheets("SHEET_2").Range("A1:Z1000").Value 
wb.SaveAs "newWB.xlsx" 
End Sub 

上記のコードは、範囲A1の値に新しいワークシート数式を変更:Z1000(新しいリンク先のブックに)。

+0

それは動作しますが、自分の計算式を自分のソースブックに変更するのではなく、目的地でのみ変更したいと考えています。 – Delfalso

+0

元のコメントは、 'Thisworkbook'を使ってソースを変更しましたが、新しいブックである' wb'を参照するので、答えのコードは宛先シートを変更します – Jordan

+1

私の悪い、変更が見られませんでした。完璧に動作します! :) – Delfalso

関連する問題