Свойство Range.Cells
не имеет параметров.

Это означает, что Cells(foo, bar)
является неявным вызовом члена по умолчанию, который разрешается примерно так (при условии, что код записан встандартный модуль):
ActiveSheet.Cells.[_Default](foo, bar)

Если элемент по умолчанию вызывается без параметров, вы получаете вызов элемента в Value
.
* диапазона.1016 * Если элемент по умолчанию вызывается
с параметрами, то вы получите вызов элемента к свойству
Item
диапазона:

RowIndex
и ColumnIndex
параметры Variant
, так что вы можете дать ему «D» для столбца, и он понимает, что вы хотите 4-й.Или вы можете дать ему любое целочисленное значение, и оно будет работать с этим.
Так почему же он счастлив работать с десятичным значением?Потому что это прощение, вот и все: оно делает неявное сужающее преобразование типов из Double
в Long
, и весело принимает 5.604
и делает это 6
.