Range.Columns プロパティ (Excel)
指定された範囲の列を表す Range オブジェクトを返します。
構文
式。列
expression は Range オブジェクトを表す変数です。
注釈
1 つの列を返すには、 Item プロパティを使用するか、同じインデックスをかっこで囲みます。 たとえば、 と Selection.Columns.Item(1)
の両方Selection.Columns(1)
は、選択範囲の最初の列を返します。
複数領域の選択範囲である Range オブジェクトに適用すると、このプロパティは範囲の最初の領域からのみ列を返します。 たとえば、 Range オブジェクトに 2 つの領域 (A1:B2 と C3:D4)Selection.Columns.Count
がある場合、4 ではなく 2 が返されます。 複数のセル範囲を選択している可能性があるときは、このプロパティを使用する前に Areas.Count
を実行し、範囲に複数の領域が含まれているかどうかを確認します。 その場合、範囲内の各領域をループします。
返される範囲は、指定された範囲の外であることがあります。 たとえば、Range("A1:B2").Columns(5).Select
はセル E1:E2 を返します。
インデックスとして文字を使用する場合、これは数字に相当します。 たとえば、Range("B1:C10").Columns("B").Select
はセル B1:B10 ではなくセル C1:C10 を返します。 この例では "B" は 2 に相当します。
オブジェクト修飾子を指定せずに Columns プロパティを使用することは、 の使用 ActiveSheet.Columns
と同じです。 詳細については、 Worksheet.Columns プロパティを参照してください。
例
次の使用例は、 myRange という範囲の列 1 のすべてのセルの値を 0 (ゼロ) に設定します。
Range("myRange").Columns(1).Value = 0
次の使用例は、シート 1 で選択されているセル範囲の列数を表示します。 複数の領域が選択されている場合は、領域ごとにループします。
Public Sub ShowNumberOfColumnsInSheet1Selection
Worksheets("Sheet1").Activate
Dim selectedRange As Excel.Range
Set selectedRange = Selection
Dim areaCount As Long
areaCount = Selection.Areas.Count
If areaCount <= 1 Then
MsgBox "The selection contains " & _
Selection.Columns.Count & " columns."
Else
Dim areaIndex As Long
areaIndex = 1
For Each area In Selection.Areas
MsgBox "Area " & areaIndex & " of the selection contains " & _
area.Columns.Count & " columns."
areaIndex = areaIndex + 1
Next
End If
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。