プロが教えるわが家の防犯対策術!

Book1.xlsとBook2.xlsのエクセルファイルが有ります。
VBAを作成しているのはBook2.xlsで操作しています。

Book1 Sheet1
A B C
1 6 4 2
2 8 5 3
3 5 1 4
.

Book1のシートのB列とC列には整数が入力されています。
A列には計算式が入ります。

例)A1の計算式 =B1+C1 A2の計算式 =B2+C2

A列の結果をBook2 Sheet1 のA列に反映しようとした場合に、
以下のVBAだと、計算式のコピーになってしまうので、計算結果の値を反映する事が出来ません。
A列の計算結果(上記の例だと、6,8,5)をまとめて反映させる方法はありますか?

Sub tashizan()

Dim thisBook As Workbook
Dim workBook1 As Workbook

Set thisBook = ThisWorkbook
Set workBook1 = Workbooks.Open("C:\Documents and Settings\Book2.xls")

thisBook.Worksheets("Sheet1").Range("A1:A100").Copy workBook1.Worksheets("Sheet1").Range("A1")

workBook1.Close

End Sub


初心者ですので、宜しくお願いします。

A 回答 (1件)

変更前:


thisBook.Worksheets("Sheet1").Range("A1:A100").Copy workBook1.Worksheets("Sheet1").Range("A1")

変更後:
workbook1.worksheets("Sheet1").range("A1:A100").value = thisworkbook.worksheets("Sheet1").range("A1:A100").value



#もちろん,型式を選んで値のみ貼り付ける(の新しいマクロの記録を取る)のでも出来ます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!