2013-02-14 147 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

相關問題