Range.Text プロパティ (Excel)

指定したオブジェクトの書式付きテキストを返します。 値の取得のみ可能な String 値です。

構文

テキスト

expressionRange オブジェクトを表す変数です。

注釈

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 のサポートおよびフィードバックを参照してください。