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