ワークシート.Cells プロパティ (Excel) | Microsoft Learn

この内容は、ワークシート上のすべてのセルを表すRangeオブジェクトを返すことについて説明しています。Cellsプロパティを使用すると、特定の行列インデックスを指定できます。例えば、Sheet1のC5セルのフォントサイズを14ポイントに設定する、C列のコメントをD列に移動してCのコメントを削除する処理が示されています。また、データ範囲内の任意のセルをダブルクリックすると、昇順と降順の並べ替えが切り替わります。サポートやフィードバックも提供されています。

Excel VBA: Worksheet.Cells プロパティの解説

Excel VBAにおいて、Cellsプロパティは、ワークシート上のすべてのセルを表すRangeオブジェクトを返します。これにより、現在使用中のセルだけでなく、シート全体のセルにアクセスすることが可能になります。

構文

vba
expression.Cells

  • expression は、Worksheetオブジェクトを表す変数です。

RangeのデフォルトメンバーがItemプロパティを通じて呼び出しを転送するため、Cellsキーワードの直後に行番号と列番号を指定することができ、明示的なItemプロパティの呼び出しは必要ありません。このプロパティをオブジェクト修飾子なしで使用すると、アクティブなワークシート上のすべてのセルを表すRangeオブジェクトが返されます。

使用例

セルのフォントサイズを設定する

次の例では、アクティブなワークブックのSheet1のC5セルのフォントサイズを14ポイントに設定します。

vba
Worksheets(“Sheet1”).Cells(5, 3).Font.Size = 14

セルの内容をクリアする

次の例では、Sheet1の1行目のセルの式をクリアします。

vba
Worksheets(“Sheet1”).Cells(1).ClearContents

全セルのフォントを設定する

次の例では、Sheet1上のすべてのセルのフォントとフォントサイズをArialの8ポイントに設定します。

vba
With Worksheets(“Sheet1”).Cells.Font
.Name = “Arial”
.Size = 8
End With

ダブルクリックでソートを切り替える

次の例では、データ範囲内の任意のセルをダブルクリックすると、昇順と降順の間でソートが切り替わります。データは、ダブルクリックしたセルの列に基づいてソートされます。

vba
Option Explicit
Public blnToggle As Boolean

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim LastColumn As Long, keyColumn As Long, LastRow As Long
Dim SortRange As Range
LastColumn = Cells.Find(What:=”*”, After:=Range(“A1”), SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

keyColumn = Target.Column

If keyColumn Then
    ' (その他のコードが続きます)
End If

End Sub

コメントを分割して列に貼り付ける

次の例では、アクティブなシートのC列を巡回し、コメントを持つ各セルについて、コメントテキストをD列に貼り付け、C列のコメントを削除します。

vba
Public Sub SplitCommentsOnActiveSheet()
Dim cmt As Comment
Dim rowIndex As Integer

For rowIndex = 1 To WorksheetFunction.CountA(Columns(3))
Set cmt = Cells(rowIndex, 3).Comment
If Not cmt Is Nothing Then
Cells(rowIndex, 4) = Cells(rowIndex, 3).Comment.Text
Cells(rowIndex, 3).Comment.Delete
End If
Next
End Sub

サポートとフィードバック

Office VBAやこのドキュメントに関して質問やフィードバックがある場合は、Office VBAサポートとフィードバックを参照し、サポートを受けたりフィードバックを提供したりする方法を確認してください。

このように、Cellsプロパティを活用することで、Excel VBAにおけるデータ操作がより効率的に行えるようになります。ぜひ、さまざまなシナリオで試してみてください。

————-

Worksheet.Cells property (Excel) | Microsoft Learn

Source link

The Cells property in Excel VBA returns a Range object representing all cells in a worksheet, not limited to just the active or used cells. You can access specific cells using row and column indices directly after the Cells keyword without needing to call the Item property explicitly.

Syntax:

vba
expression.Cells

  • expression: Represents a Worksheet object.

Examples:

  1. Set Font Size: Changes the font size of cell C5 to 14 points.
    vba
    Worksheets(“Sheet1”).Cells(5, 3).Font.Size = 14

  2. Clear Contents: Clears the contents in cell A1.
    vba
    Worksheets(“Sheet1”).Cells(1).ClearContents

  3. Set Font for All Cells: Applies 8-point Arial font to all cells on Sheet1.
    vba
    With Worksheets(“Sheet1”).Cells.Font
    .Name = “Arial”
    .Size = 8
    End With

  4. Toggle Sort: Sorts data in ascending or descending order based on a double-clicked cell.

  5. Split Comments: Moves comments from column C to D, deleting the original comments in column C.
    vba
    Public Sub SplitCommentsOnActiveSheet()
    Dim cmt As Comment
    Dim rowIndex As Integer

    For rowIndex = 1 To WorksheetFunction.CountA(Columns(3))
    Set cmt = Cells(rowIndex, 3).Comment
    If Not cmt Is Nothing Then
    Cells(rowIndex, 4) = Cells(rowIndex, 3).Comment.Text
    Cells(rowIndex, 3).Comment.Delete
    End If
    Next
    End Sub

Additional Information:

Using the Cells property without an object qualifier defaults to the active worksheet. For any questions or feedback regarding Office VBA, refer to the provided support resources.

関連記事