[最新发现]我发现值(11)有时可以实际复制公式,但并非总是如此.像sumproduct和sumif这样的公式无法复制,但可以复制简单的算术运算.这太奇怪了!我仍然无法弄清楚为什么.
我知道如果我只想复制值,最快的方法是
Range("A1").Value = Range("A2").Value
如果我想复制格式和值,最快的方法是
Range("A1").Value(11) = Range("A2").Value(11)
如果我想复制公式,最快的方法是
Range("A1").Formula = Range("A2").Formula
如果我想复制公式和格式怎么办? (我在该单元格中有许多格式,如条件格式,粗体,下划线,对齐,数字显示格式,边框样式等,因此一次传输一个样式是不切实际的.)
最佳答案 像这样的子怎么样:
Sub copyFormattingAndFormulas(source As Range, target As Range)
Dim sourceCell, targetCell As Range
Dim i, j, lastRow, lastColumn As Integer
lastRow = source.rows.count + source.row - 1
lastColumn = source.columns.count + source.Column - 1
For i = source.row To lastRow
For j = source.Column To lastColumn
Set sourceCell = Cells(source.row + i - 1, source.Column + j - 1)
Set targetCell = Cells(target.row + i - 1, target.Column + j - 1)
targetCell.value(11) = sourceCell.value(11)
targetCell = sourceCell.Formula
Next
Next
End Sub
它所做的就是在一个指定范围的循环中完成你在问题中展示的东西(很高兴知道.value(11)!).