2013-02-14 128 views
1

我在Excel中创建宏以将数据从一张表复制到同一工作簿内的另一张表。目前,该代码工作像这样:Excel VBA宏:通过引用复制单元格

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 但是我得到的只是数值。有什么方法可以执行复制,或设置值并保持参考?

感谢,

巴瑞特

回答

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)

+1

我会给这是一个尝试和汇报。谢谢。 – 2013-02-14 21:36:02

+0

感谢您的帮助。这使我走上了正确的道路。我真正需要的是:'destSheet.Cells(i,1).Formula =“=”&“'”&sourceSheet.Name&“'”&“!” &sourceSheet.Cells(1,i).Address(False,False)' – 2013-02-15 16:29:11

+0

@BarretBrown啊。很高兴你明白了。那是我最初写的,但是我在重新阅读你的问题后编辑了它。非常适合第二次猜测! – 2013-02-15 17:31:55

相关问题