Excel VBA宏:通过引用复制单元格

时间:2013-02-14 21:29:14

标签: excel vba

我在Excel中创建一个宏,用于将数据从同一个工作簿中的一个工作表复制到另一个工作表。目前,代码的运作方式如下:

Dim sourceSheet As Worksheet
Dim destSheet As Worksheet
Dim numCases As Integer
Dim i As Integer

numCases = 10
Set destSheet = ThisWorkbook.Sheets("Raw_Data")
Set sourceSheet = ThisWorkbook.Sheets("Formatted_Data")

For i = 1 To numCases
    destSheet.Cells(i,1).Value = sourceSheet.Cells(1,i).Value
Next

此代码正常工作,因为它将值从一个工作表复制到另一个工作表并将其放在正确的单元格中。问题是我需要将单元格作为参考值填充回工作表“Raw_Data”。换句话说,当我在“Formatted_Data”中选择一个单元格时,我需要公式栏来显示如下内容: 'Raw_Data'!C1 但我得到的只是数值。有什么方法可以执行复制,或设置值并维护引用??

谢谢,

巴瑞特

1 个答案:

答案 0 :(得分:3)

替换

destSheet.Cells(i,1).Value = sourceSheet.Cells(1,i).Value

使用

sourceSheet.Cells(1,i).Formula = "=" & destSheet.Name & "!" & destSheet.Cells(i,1).Address(False,False)