Sha*_*son 1 excel vba excel-vba
在"With"块中,有没有办法引用块本身的主题?
例如,如果我想将文本从下面的单元格复制到单元格中,我可以说:
With MyRange
.cells(1).offset(1,0).copy .cells(1)
End With
Run Code Online (Sandbox Code Playgroud)
但我也可以这样做吗?
With MyRange.cells(1)
.offset(1,0).copy [???]
End With
Run Code Online (Sandbox Code Playgroud)
"[???]"将是一种简单的说法"MyRange.Cells(1)".
.Cells
会工作,因为Cells
财产将返回范围本身.
With MyRange.cells(1)
.offset(1,0).copy .Cells
End With
Run Code Online (Sandbox Code Playgroud)
原因是:.Cells
属性返回一个范围对象,您可以使用该.Cells
范围对象,并进一步扩展到任何返回Range的属性,例如:
With Sheet1.ListObjects(1).ListColumns(1).DataBodyRange
Debug.Print .Cells.Address '#returns the address of entire "self" range in specified column's DataBodyRange
End With
Run Code Online (Sandbox Code Playgroud)
a的.DataBodyRange
属性ListObject
返回a Range
.如此做ListColumns
,HeaderRowRange
等,其代表一个范围内的任何对象的任何属性返回一个范围.这些其他对象不是它们自己的类,而是另一个对象的属性,它返回一个Range
.
这适用于单细胞或多细胞范围.当然,.Cells
如果您需要操纵单个单元格,可以进行微调,例如:.Cells(1)
等等.
归档时间: |
|
查看次数: |
114 次 |
最近记录: |