Cells プロパティ (Excel)Worksheet.Cells property (Excel)

ワークシートのすべてのセル (現在使用されているセルだけでなく) を表す**Range** オブジェクトを返します。Returns a Range object that represents all the cells on the worksheet (not just the cells that are currently in use).



Worksheet オブジェクトを表す変数を取得します。expression A variable that represents a Worksheet object.


範囲の既定のメンバーは、 item プロパティへのパラメーターを使用して呼び出しを転送するため、 item の明示的な呼び出しの代わりに、 Cellsキーワードの直後に行と列のインデックスを指定できます。Because the default member of Range forwards calls with parameters to the Item property, you can specify the row and column index immediately after the Cells keyword instead of an explicit call to Item.

このプロパティでオブジェクト修飾子を指定しないコードを使用すると、アクティブ シートのすべてのセルを表す Range オブジェクトが返されます。Using this property without an object qualifier returns a Range object that represents all the cells on the active worksheet.


次の使用例は、作業中のブックのシート1のセル C5 のフォントサイズを14ポイントに設定します。This example sets the font size for cell C5 on Sheet1 of the active workbook to 14 points.

Worksheets("Sheet1").Cells(5, 3).Font.Size = 14

次の使用例は、作業中のブックの Sheet1 のセル1の数式を削除します。This example clears the formula in cell one on Sheet1 of the active workbook.


次の使用例は、シート1のすべてのセルのフォントとフォントサイズを8ポイントの Arial に設定します。This example sets the font and font size for every cell on Sheet1 to 8-point Arial.

With Worksheets("Sheet1").Cells.Font 
    .Name = "Arial" 
    .Size = 8 
End With

この例では、データ範囲内のセルをダブルクリックすると、降順の並べ替えと昇順の並び替えが切り替えられます。This example toggles a sort between ascending and descending order when you double-click any cell in the data range. データは、ダブルクリックされたセルの列に基づいて並べ替えられます。The data is sorted based on the column of the cell that is double-clicked.

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 <= LastColumn Then
        Application.ScreenUpdating = False
        Cancel = True
        LastRow = Cells(Rows.Count, keyColumn).End(xlUp).Row
        Set SortRange = Target.CurrentRegion
        blnToggle = Not blnToggle
        If blnToggle = True Then
            SortRange.Sort Key1:=Cells(2, keyColumn), Order1:=xlAscending, Header:=xlYes
            SortRange.Sort Key1:=Cells(2, keyColumn), Order1:=xlDescending, Header:=xlYes
        End If
        Set SortRange = Nothing
        Application.ScreenUpdating = True
    End If
End Sub

次の使用例は、作業中のシートの列 C を調べ、コメントが含まれているすべてのセルに対して、コメント文字列を列 D に配置し、列 C からコメントを削除します。This example looks through column C of the active sheet, and for every cell that has a comment, it puts the comment text into column D and deletes the comment from column C.

Public Sub SplitCommentsOnActiveSheet()
   'Set up your variables
   Dim cmt As Comment
   Dim rowIndex As Integer
   'Go through all the cells in Column C, and check to see if the cell has a comment.
   For rowIndex = 1 To WorksheetFunction.CountA(Columns(3))
      Set cmt = Cells(rowIndex, 3).Comment
      If Not cmt Is Nothing Then
         'If there is a comment, paste the comment text into column D and delete the original comment.
         Cells(rowIndex, 4) = Cells(rowIndex, 3).Comment.Text
         Cells(rowIndex, 3).Comment.Delete
      End If
End Sub

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.