我已經問過並提供了我自己的答案,雖然它不好,但它的工作原理。 Previous Question如何創建另一個工作表的列和行之間的引用,反之亦然 - Excel VBA?
但是,現在我想鏈接另一個工作表的單元格。但是,我寫的程序無法從單張到另一張紙張的單元格之間進行參照。
例
Sheet1中,列A
Sheet2中,第1行
我想有
Sheet1!A1 = Sheet2!A1
Sheet1!A2 = Sheet2!B2
我已經問過並提供了我自己的答案,雖然它不好,但它的工作原理。 Previous Question如何創建另一個工作表的列和行之間的引用,反之亦然 - Excel VBA?
但是,現在我想鏈接另一個工作表的單元格。但是,我寫的程序無法從單張到另一張紙張的單元格之間進行參照。
例
Sheet1中,列A
Sheet2中,第1行
我想有
Sheet1!A1 = Sheet2!A1
Sheet1!A2 = Sheet2!B2
這就是你正在試圖任何chanc è?
Option Explicit
Sub Sample()
Dim cRange As Range, rrange As Range
Dim i As Long, j As Long
Dim cPrompt As String, cTitle As String
Dim rPrompt As String, rTitle As String
On Error GoTo Whoa
cPrompt = "Please Choose a Column without Header"
cTitle = "Specify Column Range"
rPrompt = "Please Choose Starting cell"
rTitle = "Specify row Range"
Set cRange = Application.InputBox(cPrompt, cTitle, Type:=8)
Set rrange = Application.InputBox(rPrompt, rTitle, Type:=8)
For i = 1 To cRange.Count
rrange.Offset(j).Formula = "=" & cRange.Parent.Name & _
"!" & cRange.Cells(1, i).Address
j = j + 1
Next i
Exit Sub
Whoa:
MsgBox Err.Description
End Sub
最近感謝您的幫助。基本上我想將一行連接到一列,但他們在不同的工作表上。你的代碼工作,但它隨機鏈接。程序將:1.需要選擇一個範圍(這是一行)作爲源2.需要選擇一個單元地址(在另一個表)作爲目的地。 3.程序開始用「=」單元格地址(來自另一個表格 - 第1步的來源)填充列上的單元格。現在,我可以在同一張紙上的列和行或行和列的單元格之間建立鏈接。然後做鏈接,但我必須鏈接2次。 – NCC
這就是上面的代碼所做的。我只是測試它。假設你在Sheet2中。運行上面的代碼。第一個輸入框顯示時,請在Sheet1中選擇「A1:D1」。然後在第二個輸入框顯示時,在Sheet2中選擇'A1'。您會注意到公式在單元格Sheet1中的A1:A4中得到更新。這不是你想要的嗎? –
是的,它的工作原理 - 我做了一些導致問題的東西。非常感謝你。 @Siddharth Rout – NCC
您可以通過間接作用,像這樣在一個更簡單的方式做到這一點:
=INDIRECT("Sheet1!R1C"&ROW()+4,FALSE)
這將使用當前行加上偏移值排隊當前行與第一列,你想參考。在複製公式時,行號將增加,但將用於增加列參考。
'我想鏈接另一張紙上的單元格,它不能引用另一張紙上的單元格'我無法理解你的意思是... –
@SiddharthRout我改變了我的措辭。我的意思是現在,如果我想鏈接單元格與我的程序(從行到列和列到行),它的工作原理。但是,如果我想鏈接兩張紙之間的單元格,它不起作用。 – NCC
'Sheet1!A2 = Sheet2!B2'你是不是指B2?如果是,那麼'Sheet1!A3 = Sheet2!C3'?或者你真的意味着'Sheet1!A2 = Sheet2!A2' so'Sheet1!A3 = Sheet2!A3' –