首页 文章

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

提问于
浏览
-3

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

是否有捷径可寻?谢谢

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

2 回答

  • 1

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

    sheet2.range("A1:F50").formula = ='Sheet1'!A1"
    
  • 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
    

相关问题