我負責創建倉庫地圖。如何選擇不同工作表上的單元格以填充單元格旁邊的單元格
在數據我必須有模型,描述和位置。
什麼我有是,我使用從第二頁的數據填充到「地圖」
即='1'!F2
當我試圖拖動並用它來填補它變爲='1'!g2
整條生產線的麻煩。我想它去='1'!F3
我看到它在做什麼的邏輯......但我不希望它使用該邏輯..我希望它使用它下面的下一個單元格填充該單元格。
我負責創建倉庫地圖。如何選擇不同工作表上的單元格以填充單元格旁邊的單元格
在數據我必須有模型,描述和位置。
什麼我有是,我使用從第二頁的數據填充到「地圖」
即='1'!F2
當我試圖拖動並用它來填補它變爲='1'!g2
整條生產線的麻煩。我想它去='1'!F3
我看到它在做什麼的邏輯......但我不希望它使用該邏輯..我希望它使用它下面的下一個單元格填充該單元格。
最簡單的事情可能是複製,然後選擇性粘貼>將數據轉換爲「1」到新工作表。然後,您可以拖動引用新工作表的公式,並按照預期行事。
編輯:根據您的原始問題,這將填充列的結果向右拖動,反之亦然。這實際上是做你的原始問題:
=INDEX(Sheet1!$F$2:$Z$8000,COLUMN(),ROW())
從A1開始並向任一方向拖動。要向左側添加標題行或行,只需將行或列插入頂部或左側(以保持公式發聲)。
編輯:這是Transpose函數,per @ brettdj的建議。我覺得很難一起工作,但可以肯定使得它更清楚這是怎麼回事:
在單元格F2:你的目標板的8000輸入:
=TRANSPOSE(Sheet1!$F2:$Z8000)
然後,選中所有這些細胞,進入在其中一個單元格中編輯模式並執行Ctrl Shft Enter
來輸入數組。如果您必須調整源範圍的大小,我相信您必須使用正確的範圍重複這些步驟。我自己是索引迷,所以會堅持下去。偏移是不穩定的,所以我會避免它。如果我有任何最後的編輯錯誤,@brettdj會幫助我們。
由於您想要的是非本機行爲,因此可能需要編寫一個小的VBA宏來執行復制,並將其分配給鍵盤快捷鍵。
下面是一個簡單的例子,將公式單元格複製到右側,向下更新參考單元格(保留公式中的絕對/相對設置)。
它假定A1
樣式地址,僅當活動單元格包含引用單個單元格的公式(如果不是,則靜默結束)時才起作用。將默默覆蓋目標單元格中的任何內容。
Sub CopyToRight()
Dim clFrom As Range
Dim clAddr As Range
Dim addr As String
On Error GoTo EH
Set clFrom = ActiveCell
If clFrom.Formula Like "=*!*" Then
Set clAddr = Range(Mid(clFrom.Formula, 2))
If clAddr.Count = 1 Then
If clFrom.Formula Like "=*!$*$*" Then
addr = clAddr.Offset(1, 0).Address(True, True)
ElseIf clFrom.Formula Like "=*!$**" Then
addr = clAddr.Offset(1, 0).Address(False, True)
ElseIf clFrom.Formula Like "=*!*$*" Then
addr = clAddr.Offset(1, 0).Address(True, False)
Else
addr = clAddr.Offset(1, 0).Address(False, False)
End If
clFrom.Offset(0, 1).Formula = "='" & clAddr.Worksheet.Name & "'!" & addr
End If
End If
clFrom.Offset(0, 1).Select
EH:
End Sub
謝謝克里斯,我會試試這個。 – user1123546 2011-12-30 23:08:41
感謝Doug,我會這樣做,除了8000 +項目我需要填充「地圖」。我開始這樣做,然後認爲那是一個更簡單的方法。我正在使用間接參數......但這會導致需要更改一些值以使其正確。我知道必須有一個更簡單的方法,我太想想它了。 – user1123546 2011-12-30 22:15:13
我需要更好地描述您正在複製的工作表以及期望的最終結果。這聽起來像是一個8000行的數據,你想讀入8000列。因爲您只是想拖動公式,所以我認爲只需將數據轉換爲中間表就足夠了,但聽起來還有其他問題。 – 2011-12-30 23:12:59
+1。你也可以使用'TRANSPOSE'公式directlty(數組輸入)或'OFFSET'。 'TRANSPOSE'更加透明和可審計。 – brettdj 2011-12-31 00:52:52