English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

如果在Sheet 1的工作表內我設定了一個動態範圍的名稱aa當我複製Sheet 1工作表到Sheet 2時EXCEL會複製這個名稱aa到Sheet 2(名稱->定義那邊後面會註記工作表)但是我現在的問題是我漏了一個名稱忘記建立時我要怎麼設定才能夠跟上述一樣的名稱出來我要的結果就是當我切換到不同的工作表時aa就代表那個工作表內我所設定的儲存格而不是別的工作表內設定的儲存格謝謝~~

2006-04-29 04:56:51 · 5 個解答 · 發問者 曾經走過這段歲月 6 in 電腦與網際網路 軟體

請樓下兩位先搞清楚「名稱」是什麼才回答
否則也先瞭解「插入」->「名稱」->「定義」
這裡的東西是做什麼用的
然後就不會看不懂我的問題了

2006-04-29 06:29:00 · update #1

其實我問題的關鍵在於
當我們設定好名稱跟範圍之後
在名稱那邊的框框裡面
通常只有你設定好的名稱
可是當你複製整個工作表到另外一個Sheet時
你可以看到名稱的右邊會出現這個工作表的名稱
當你在兩個工作表中切換後,去看名稱的定義時
你會看到名稱後面的工作表會自動切換成你目前所在的工作表
而這個就是我需要的
因為我們自己手動設定名稱的定義時
不會有這個東西跑出來
而我的範圍一定得設定成動態範圍
所以我還沒試過用Indirect可行嗎? @_@
因為我的資料是會增加的
所以我一定是設定成=offset(..........)

2006-04-29 20:00:57 · update #2

這樣各位大德是否可以更清楚了解了
因為總共有快30個工作表
實在不可能全部再重新複製一次

2006-04-29 20:01:05 · update #3

Trump Blanco兄

就算你沒自己加sheet的名稱
EXCEL還是會自動捕上去
這我已經嘗試過了

2006-04-29 20:02:25 · update #4

簡單弄了一張圖給各位看
http://home.pchome.com.tw/personal/lytton/aa.jpg

2006-04-29 20:08:05 · update #5

5 個解答

試試
定義名稱 aa
=INDIRECT(GET.WORKBOOK(38) & "!$A$1:$A$5")

GET.WORKBOOK(38) 能返回ActivateSheet的工作表名
缺點是當改變ActivateSheet需按 F9 執行重算

解決方式:可以利用WorkBook的事件來觸發重算
將以下巨集貼到ThisWorkbook中

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Calculate
End Sub

但這又有一個缺點,就是改變ActivateSheet之後還要點一下新工作表任一儲存格才會重算
欲解除這問題只得辛苦些,將以下巨集貼到每個Sheet中

Private Sub Worksheet_Activate()
Calculate
End Sub

以上是WinXp & OfficeXp測試結果

2006-04-29 19:50:04 補充:
抱歉,以上將問題得太複雜了直接定義名稱 aa=INDIRECT("A1:A5")就行了

2006-04-29 15:44:01 · answer #1 · answered by EH 5 · 0 0

看來每個人的想法都不大一樣
我猜是要配合 indirect 函數
例如動態名稱定義成如下,那麼這個動態名稱就會適用於各個工作表
=OFFSET(INDIRECT("$A$1"),,,COUNTA(INDIRECT("$A:$A")))

2006-04-29 18:53:35 · answer #2 · answered by 沙拉油 5 · 0 0

不妨貼出你的「名稱」內容,可以加以判斷哪裡出問題。動態範圍名稱的使用過程,筆者以前曾經圖解說明,可參考一下:http://tw.knowledge.yahoo.com/question/?qid=1105041403919

2006-04-29 17:05:51 補充:
依照我的判斷,應該是少了工作表明稱。=OFFSET(Sheet1!a1,,,COUNTA(A:A),4)就是少了上面的 Sheet1!

2006-04-29 13:04:12 · answer #3 · answered by ? 7 · 0 0

offset的頭
=INDIRECT(ADDRESS(ROW(),COLUMN()))
ROW()跟COLUMN()的部分可以直接用數字


COUNTA的部分
=COUNTA(INDIRECT("a"&":"&"a"))

2006-04-29 09:40:57 · answer #4 · answered by 一個人的咖啡 4 · 0 0

你的意思我有一點點不懂!!

你是要當你複製sheet 1的資料到sheet 2時...
如果你對sheet 1的資料做改變..sheet 2也會一起做更改嗎!?
如果是我說的這樣..
你選取shhet 1 你要的東西..然後按複製...
到sheet 2 按右鍵...然後選"選擇性貼上"...
你可以選擇你要的選項...ex: 全部貼上..貼上公式...
再按"貼上連結"就可以了!!

我不知道我回答的是不是你想要的!!
如果不是...不好意思囉!!!

2006-04-29 05:14:22 · answer #5 · answered by J9-23 2 · 0 0

fedest.com, questions and answers