Excel中的宏以复制工作表(通过引用每个单元格)

时间:2016-09-19 13:30:55

标签: excel vba excel-vba copy formula

我发现了许多在VBA中复制工作表或用值替换公式的示例。 我想要做的是复制整个工作表,但在新工作表上,每个单元格都会返回原始工作表。 因此,在新工作表的单元格A1中,它只会包含公式" =' Sheet1'!A1"

有一种简单的方法吗? 感谢

P.S。我需要它是一个宏,因为我需要能够在特定的工作表上运行它,将该工作表中的所有单元格复制到一个新的单元格中,并不总是来自" Sheet1"

2 个答案:

答案 0 :(得分:1)

你几乎在你的问题中给出了答案:

sheet2.range("A1:F50").formula = ='Sheet1'!A1"

答案 1 :(得分:1)

如果你想避免剪贴板,我可以建议R1C1公式格式:

Sub fillsheet()
Dim ows As Worksheet
Dim tws As Worksheet
Dim rng As Range

Set ows = Worksheets("Sheet1")
Set tws = Worksheets("Sheet2")

Set rng = ows.UsedRange

tws.Range(rng.Address()).FormulaR1C1 = "='" & ows.Name & "'!RC"
End Sub