Worksheet.Cells プロパティ (Excel)

ワークシートのすべてのセル (現在使用されていないセルも含む) を表す Range オブジェクトを返します。

構文

.セル

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

注釈

Range の既定のメンバーではパラメーターを使用して Item プロパティの呼び出しを転送するため、Item の明示的な呼び出しの代わりに、セル キーワードの後に続けて行および列のインデックスを指定できます。

このプロパティでオブジェクト修飾子を指定しないコードを使用すると、アクティブ シートのすべてのセルを表す Range オブジェクトが返されます。

この例では、作業中のブックの Sheet1 のセル C5 のフォント サイズを 14 ポイントに設定します。

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

この例では、作業中のブックの Sheet1 のセル 1 の数式をクリアします。

Worksheets("Sheet1").Cells(1).ClearContents

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

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

この例では、データ範囲内のセルをダブルクリックすると、降順の並べ替えと昇順の並び替えが切り替えられます。 データは、ダブルクリックされたセルの列に基づいて並べ替えられます。

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
        Else
            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 からコメントが削除されます。

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
   Next
End Sub

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

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。