指定したオブジェクトの書式付きテキストを返します。 値の取得のみ可能な String 値です。
構文
式。テキスト
expression は Range オブジェクトを表す変数です。
注釈
Text プロパティは、1 つのセルの範囲に対して最もよく使用されます。 範囲に複数のセルが含まれている場合、範囲内のすべてのセルの内容と書式が同じ場合を除き、 Text プロパティは Null を返します。
セルの内容が表示可能な幅よりも広い場合は、 Text プロパティによって表示値が変更されます。
プロパティの違いの例
この例は、書式設定された数値を含むセルの Text プロパティと Value プロパティの違いを示しています。
Option Explicit
Public Sub DifferencesBetweenValueAndTextProperties()
Dim cell As Range
Set cell = Worksheets("Sheet1").Range("A1")
cell.Value = 1198.3
cell.NumberFormat = "$#,##0_);($#,##0)"
MsgBox "'" & cell.Value & "' is the value." 'Returns: "'1198.3' is the value."
MsgBox "'" & cell.Text & "' is the text." 'Returns: "'$1,198' is the text."
End Sub
テキスト幅の違い
列の幅が十分でない場合、数値を含むセルの表示値が変更されることがあります。 次の例は、2 つの列を使用してこれを示しています。 最初の列には、値を表示するのに十分な幅があります。 書式が適用され、完全な値を示す値が入力されます。 2 列目の列の幅が狭くなり、セルをコピーすると狭すぎて、表示値が薄暗くなります。
Public Sub TextWidthDifferences()
Dim wideColumn As Range
Set wideColumn = Sheet1.Range("B2")
wideColumn.Value = "Wide Enough Column"
wideColumn.Columns.AutoFit
Sheet1.Range("B3").Value2 = 123456789
Const CurrencyWith2DecimalsFormat As String = "$#,##0.00"
Dim currencyCell As Range
Set currencyCell = Sheet1.Range("B4")
currencyCell.Value2 = 1234.56
currencyCell.NumberFormat = CurrencyWith2DecimalsFormat
Dim narrowColumn As Range
Set narrowColumn = Sheet1.Range("C2")
narrowColumn.Value = "Reduced Width Column"
narrowColumn.ColumnWidth = 7.5
Sheet1.Range("B3:B4").AutoFill Destination:=Sheet1.Range("B3:C4"), Type:=XlAutoFillType.xlFillDefault
Debug.Print Sheet1.Range("C3").Text
Debug.Print Sheet1.Range("C4").Text
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。