返回列表 上一主題 發帖

excel 2010巨集

excel 2010巨集

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

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


感謝..
fangac

來源檔案是否內含該巨集??

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

回復 2# mark15jill

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

謝謝.
fangac

TOP

轉存為2012的 .xlms檔
版本太高了,無從得知.xlms是什麼檔
2010是xlsm

TOP

OPEN ORDER.rar (166.64 KB)

對不起,是 .xlsm 是2010 啟用巨集的活頁簿.
在檢視_巨集_檢視巨集, 有看到巨集名稱, 但是不能執行
fangac

TOP

回復 5# fangsc

巨集命名規則衝突,因為會被認為是儲存格位址
請重新將巨集命名後再指定巨集執行
    play.gif
學海無涯_不恥下問

TOP

回復 6# Hsieh

可以了. 謝謝你的指導.
手上有好幾個檔案由2003轉為 .xlsm檔,都發生了這樣的問題. 現在都可以解決了. 謝謝你.
fangac

TOP

想問一下 你開啟檔案的副檔名為何?
.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)

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

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

回復 8# mark15jill

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

TOP

        靜思自在 : 有願放在心裡,沒有身體力行,正如耕田不播種,皆是空過因緣。
返回列表 上一主題