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

Macro in Excel to Copy a Worksheet (by referencing every cell)

我找到了很多关于在 VBA 中复制作品 sheet 或用值替换公式等的示例。 我想做的是复制整个作品sheet,但在新作品sheet上,每个单元格都指向其原始内容。 所以在新作品sheet的单元格A1中,它只会有公式“='Sheet1'!A1”

有没有简单的方法来做到这一点? 谢谢

P.S。我需要它是一个宏,因为我需要能够在特定的 sheet 上 运行 它,将所有单元格从那个 sheet 复制到一个新单元格中,而不是总是从"Sheet1"

您几乎给出了问题的答案:

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

如果你想避免剪贴板,我建议 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