イベントでセルの値を操作するとき、編集前の値が取得されてしまう
対象製品
El Tabelle for .NET 2.0J
詳細
Sheet の各イベントで編集中または編集直後のセルの値を取得するとき、アクティブセルの存在を考慮する必要があります。これを考慮しない場合、アクティブセルの「後ろ」に存在する編集前のセルから値を取得することになり、表示されているセルの内容と取得した結果に差異が生じてしまいます。常時入力モードを使用した場合はアクティブセルの存在を意識しにくいため、特に注意が必要です。
編集中または編集直後のセルの値を取得する場合、次のようにアクティブセルとそれ以外のセルへのアクセスを使い分けます。
編集中(編集後)の値:
Sheet.ActiveCell.Value
編集前の値:
Sheet.CellValue、Sheet(,).Value、Sheet.ValueBlock
なお、セルのテキスト(整形済みの値)についても同じことが言えます。
編集中(編集後)のテキスト:
Sheet.ActiveCell.Text
編集前のテキスト:
Sheet.CellText、Sheet(,).Text、Sheet.TextBlock
数式を除く他の書式についても同様です。
ヘルプには
[El Tabelle for .NET の使い方]
+ [セルの操作]
+ [編集操作のカスタマイズ]
の「編集前の値と編集後の値を比較する」にセル編集時のコーディングに関する説明が
あるのでご利用ください。
編集中または編集直後のセルの値を取得する場合、次のようにアクティブセルとそれ以外のセルへのアクセスを使い分けます。
編集中(編集後)の値:
Sheet.ActiveCell.Value
編集前の値:
Sheet.CellValue、Sheet(,).Value、Sheet.ValueBlock
なお、セルのテキスト(整形済みの値)についても同じことが言えます。
編集中(編集後)のテキスト:
Sheet.ActiveCell.Text
編集前のテキスト:
Sheet.CellText、Sheet(,).Text、Sheet.TextBlock
数式を除く他の書式についても同様です。
ヘルプには
[El Tabelle for .NET の使い方]
+ [セルの操作]
+ [編集操作のカスタマイズ]
の「編集前の値と編集後の値を比較する」にセル編集時のコーディングに関する説明が
あるのでご利用ください。
キーワード
機能・仕様
この文書は、以前は次のFAQ IDで公開されていました : 4708