【发布时间】:2017-04-07 18:28:04
【问题描述】:
我的目标是将一个单元格及其所有属性和值保存在一个范围数组中,然后将该单元格的所有属性和值写回数组中的另一个单元格(类似于复制粘贴功能,但从数组中粘贴)。
这是一个简单的测试程序:
Sub Test()
Dim Range_Grid(1) As Range
Dim CellAdress As String
Dim i As Long
Set Range_Grid(1) = ActiveSheet.Cells(2, 3)
ActiveSheet.Cells(4, 1) = Range_Grid(1)
End Sub
因此,在数组 Range_Grid(1) 的第一个元素中,我确实保存了整个范围,并且我可以访问原始范围 ActiveSheet.Cells(2, 3) 具有的每个属性,例如字体样式、格式、颜色、评论等。
但是当我尝试将这个范围从数组写入另一个空单元格时,它只写入值...
知道如何从数组中写入所有属性,就像从工作表到工作表的复制/粘贴一样?
【问题讨论】:
-
试试:
Range_Grid(1).Copy ActiveSheet.Cells(4, 1) -
感谢它以某种方式工作。但我刚刚意识到保存在数组中的范围并没有真正保存为独立实体,我的意思是它似乎是指向工作表上单元格的指针。因此,如果在 Set Range_Grid(1) = ActiveSheet.Cells(2, 3) 行之后,我会手动更改工作表上此单元格的值和属性以获取空单元格,然后是 Range_Grid(1).Copy ActiveSheet。 Cells(4, 1) 也将 cell(4,1) 留空...