Board logo

標題: excel 2010巨集 [打印本頁]

作者: fangsc    時間: 2012-7-23 21:59     標題: excel 2010巨集

本帖最後由 Hsieh 於 2012-7-30 09:19 編輯

請教
excel 2003的檔案轉存為2012的 .xlms檔時,巨集按鈕會出現以下問題, 請問是為什麼? 該如何解決呢?
[attach]11826[/attach]

感謝..
作者: mark15jill    時間: 2012-7-27 16:19

來源檔案是否內含該巨集??
作者: fangsc    時間: 2012-7-27 22:40

回復 2# mark15jill

原本是2003版本的檔案,裡面有巨集.
轉到2010版本時就出現這樣了..
到檢視_巨集去看,是有看到之前的巨集,但是按執行時,就出現了這樣的問題.
實在不知為何?

謝謝.
作者: oobird    時間: 2012-7-27 22:58

轉存為2012的 .xlms檔
版本太高了,無從得知.xlms是什麼檔
2010是xlsm
作者: fangsc    時間: 2012-7-28 00:01

[attach]11887[/attach]

對不起,是 .xlsm 是2010 啟用巨集的活頁簿.
在檢視_巨集_檢視巨集, 有看到巨集名稱, 但是不能執行
作者: Hsieh    時間: 2012-7-29 00:27

回復 5# fangsc

巨集命名規則衝突,因為會被認為是儲存格位址
請重新將巨集命名後再指定巨集執行
    [attach]11914[/attach]
作者: fangsc    時間: 2012-7-29 01:15

回復 6# Hsieh

可以了. 謝謝你的指導.
手上有好幾個檔案由2003轉為 .xlsm檔,都發生了這樣的問題. 現在都可以解決了. 謝謝你.
作者: mark15jill    時間: 2012-7-30 08:55

想問一下 你開啟檔案的副檔名為何?
.xls  .xlsm?
上傳的檔案為.xlsm 程式碼內卻是.xls..


程式碼內..
Sub TWN052()
    Sheets("TWN0052").Move Before:=Workbooks("OPEN ORDER.xls").Sheets(1)

Sub TWN0531()
    Sheets("TWN0053").Move Before:=Workbooks("OPEN ORDER.xls").Sheets(2)
作者: Hsieh    時間: 2012-7-30 09:16

本帖最後由 Hsieh 於 2012-7-30 09:17 編輯

回復 8# mark15jill

這個問題的重點不在程序的內容為何?
這是因為2003版本時,因為只有256欄65536列
所以儲存格位址不會超果2個英文代碼
所以程序名稱使用3碼英文加數字會被判斷成程序名稱
但2007版本以後
欄的英文代碼已經到了XFD
所以在巨集列表中看到的程序名稱卻會被誤判成儲存格參照位址
所以程序名稱的命名規則中
若為英文加上數字的方式命名
通常英數字中間會用"_"連接以避免誤判




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)