2016-01-06 9 views
5

私は2つのExcelワークシートを比較するためのtutorialを見て、この出くわした何ですかセルをcellVal1に転送します。私は人々がws.Cells(row, col).Valueを使用して.Formulaは何をするん.Cells(<row>,<col>)はworksheet.Cells(行、列).Formula

.Formulaに関して何かを見つけるように見えることはできません、それは.Valueと異なる見てきましたか?

+4

変数が式ではなく言っ式の結果に終わるだろう取得します。 Cell(1,1)では '= Sum(1,1)'という式があり、 '.Value'は2を返しますが、' .Formula'は '= Sum(1,1)'をa文字列。 –

+0

質問との関連性の大まかな順番でいくつかのリンクがあります:[Range.Valueプロパティ](https://msdn.microsoft.com/en-us/library/office/ff195193.aspx)、[Range.Formulaプロパティ](https://msdn.microsoft.com/en-us/library/office/ff838835.aspx)、[Range.Textプロパティ](https://msdn.microsoft.com/en-us/library/office/) ff840217.aspx)、[Range.Value2プロパティ](https://msdn.microsoft.com/en-us/library/office/ff193553.aspx)、[Range.Cellsプロパティ](https://msdn.microsoft。 – Jeeped

+0

'Cell(1,1).Value'が' Cell'であるとき、 'Range'のサブセットのいくつかの型とみなされますか?私はそれらの_Range_プロパティを見ましたが、_Cell_ –

答えて

4

.formula部分は、細胞内の式を取り、.valueはあなたが見ることができる値をとります。 A3

enter image description here

A1 = 2 
A2 = 4 
A3 = 6 

=A1+A2あなたは(それがRange("A3").formulaに等しい)cellVal1 = Cells(3, 1).Formulaを使用してcellVal1内の式を置くために、.formulaを使用する場合は=A1+A2を取得していますが、.valueを使用している場合あなたが得たがあります6。 int型の変数の中に文字列を格納しようとすると、式が文字列であるため、エラーが発生することに注意してください。

ヒント:.formulaR1C1を使用する場合は=R[-2]C+R[-1]C

+2

Big ** plus ** **行**を変数として使用することを避けるために、 'ビデオ'のやり方がありました。 – Jeeped

関連する問題