vbaでセルに表示されている値を「取得」する方法のご紹介です。
関数ごとコピーする方法が知りたい方は下記をどうぞ。
ExcelVBA(マクロ)でセルを選択、コピー、ペーストする方法/Select、Copy、Pasteメソッドの使い方
VBAでセルを選択し、選択したセルをコピペする方法のご紹介です。
Valueプロパティの使い方
セルの値を取得するには、Valueプロパティを参照します。
セルの値の取得
対象.value
対象.value
たとえばA1にこのような数値があるとします。
Range(“B1”).Value = Range(“A1”).Value(A1の値を取得してB1の値に代入する)と記述します。
無事にA1の値がB1にコピーできました。
ただし、この値は書式情報を含みません。
ただし、この値は書式情報を含みません。
たとえば桁区切りを表示した1,234,567に対してvalueを実行した場合……。
「値」にあたる1234567だけがコピーされます。
Textプロパティの使い方
表示されている値を取得したい場合は、Textプロパティを使用します。
表示されている値の取得
対象.text
対象.text
Range(“B2”).Value = Range(“A2”).Text(A2の表示された値を取得してB2に代入する)と記述します。
桁区切りごと数値が表示されました。
ただし見た目を合わせているだけで、書式を揃えているわけではありません。A2の書式は「数値」ですが……。
マクロを実行したB2の書式は「通貨」だったりします。見た目上同じ数値になっているものの、書式は必要に応じて適当なものが採用されます。
Range(“B2”).Text = Range(“A2”).Textはエラーになります。Textは取得のみで、代入する対象には指定できません。
シリアル値を取得したい場合
Value2プロパティで取得すればシリアル値が代入されます。詳しくは下記参照。
ExcelVBA(マクロ)で日付のシリアル値を取得する方法/Value2プロパティの使い方
valueで日付を参照した場合、取得されるのは表示されている日付となります。
これをシリアル値に換算するには、専用のvalue2プロパティを用います。
マクロによるセルの値の取得については以上です。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
コメント