cellsプロパティはworksheetオブジェクトやrangeオブジェクトに使用して
特定のセルを指定することができます。
rangeオブジェクトに使用すると相対的な位置で判定します。
1次元配列の数値として使用する方法は便利ですね。
下の例では、cellsプロパティでセルの指定を行い、その指定した内容をシートに記述します。
最後のCells.Selectは、cellsのみでセル全体を指定できることを例示するためのものです。
(セル全体が選択された形でマクロを終了します)
※ソース中chr(34)は引用符(")です。
Sub セルズプロパティ()
Dim x As Integer
Dim y As Integer
Dim StrCell As String
'事前準備
On Error Resume Next
Application.DisplayAlerts = False
Sheets("NotAcitveSheet").Delete
Sheets("AcitveSheet").Delete
Application.DisplayAlerts = True
Sheets.Add
ActiveSheet.name = "NotAcitveSheet"
Sheets.Add
ActiveSheet.name = "AcitveSheet"
'cellsプロパティのオブジェクトを指定しないとアクティブシートと判断する
'列インデックスと行インデックスを数値で指定
Cells(1, 1) = "cells(1,1) "
'列インデックスと行インデックスを変数で指定
x = 2: y = 1
Cells(y, x) = "cells(y,x) "
'1次元配列の数値で指定
'アクティブシートの1行が265列のため、257は2行目1列となる
Cells(257) = "Cells(257)"
'cellsプロパティのオブジェクトにrangeオブジェクトを指定すると
'そのrangeオブジェクトの中の相対的なセルとして判定される
Range("b3:c4").Cells(1, 1) = "Range(" & Chr(34) & "b3:c4" & Chr(34) & ").Cells(1, 1)"
x = 2: y = 1
Range("b3:c4").Cells(y, x) = "Range(" & Chr(34) & "b3:c4" & Chr(34) & ").Cells(y, x)"
Range("b3:c4").Cells(3) = "Range(" & Chr(34) & "b3:c4" & Chr(34) & ").Cells(3)"
Range("b3:c4").Interior.ColorIndex = 50
'cellsプロパティのオブジェクトにworksheetオブジェクトを指定すると
'アクティブシート以外のセルも指定が可能
Sheets("NotAcitveSheet").Cells(1, 1) = "sheets(1).cells(1,1)"
'後始末
Columns.AutoFit
Cells.Select
End Sub