EXCEL 2003 寫好的 VBA, 用在 2007 都正常, 直到 excel 2010 就不能執行


http://wp.me/ph3BR-RX

原來是 XP + office 2003  年代時寫好的小工具, 一直都是很順暢的在用.

但是最近有小妹挑了一台小電腦出差用, 發現了一個問題, XP + 內建 office 2010, 執行同樣的 VBA 就報錯

excel2010 error

請教過人家,

http://social.msdn.microsoft.com/Forums/zh-TW/805/thread/edd581aa-3089-46f8-afa0-ee9bce660580

最後確認, 原來這個錯誤是因為,

遺漏: Microsoft Calender Control 2007

取消打鉤, 移除因為沒有用到, 也不存在.

為什麼會自動出現的呢, 翻查 EXCEL 2003 的那個存檔, 裡面也沒用過, 到底如何來的 ?

excel2010 error and why

.
.
報錯之一
'Excel 2003/2007/2010 可以正確運行
    MsgBox ("你所輸入的資料格式都檢查通過, 已填入 Sheet1" + vbCrLf + _
            "不過資料的準確性需要自行判定" + vbCrLf + _
            "可以開印標籤或發EMAIL")

    'Excel 2003/2007 可以, 但是 Excel 2010 不可運行
    'MsgBox ("你所輸入的資料格式都檢查通過, 已經填入 Sheet1" + Chr(13) + _
    '        "不過資料的準確性需要自行判定" + Chr(13) + _
    '        "可以開印標籤或發EMAIL")

 

 

.

.

報錯之二
Private Sub CommandButton載入樣版_Click()

Dim Answer As Boolean   '原來沒有這句, 沒有明確定義, excel2003/2007 可執行, excel 2010 則無法運行

    Answer = MsgBox("所有已經填寫的資料會被取代." + vbCr + _
                    "僅作為觀察用. 如果要填寫資料, 建議首先 [清除所有資料] !!" + vbCr + vbCr + _
                    "你要繼續載入嗎 ?" + vbCr _
                    , vbQuestion + vbYesNo _
                    , "注意!!")

    If Answer = vbNo Then Exit Sub

    Answer = MsgBox("看來你還是需要繼續載入樣板. 記得, 觀察完畢, 務必首先 [清除所有資料] !! 要載入樣板嗎 ?", vbCritical + vbQuestion + vbYesNo, "注意!!")

    If Answer = vbNo Then Exit Sub

    Call pre_set_template

End Sub

.

.

.

再來這個就還沒有頭緒, Trim 和 UCase, 要處理的資料從使用者輸入的字串, 全變大寫, 去掉首位多餘的 [ 空白], 然後存起來

報錯是, [ 找不到專案或程式庫 ]

補充, TextBoxSR, 是一個在 USERFORM 上 TextBox, 名稱改成 TextBoxSR, 方便閱讀而已, 其內容是使用者輸入的資料

string_buffer = Trim(UCase(TextBoxSR))
    TextBoxSR = string_buffer

.

.

.

解決方案

'Excel 2003/2007/2010 可以正確運行
MsgBox ("你所輸入的資料格式都檢查通過, 已經填入 Sheet1" + vbCrLf + _
"不過資料的準確性需要自行判定" + vbCrLf + _
"可以開印標籤或發EMAIL")

'Excel 2003/2007 可以, 但是 Excel 2010 不可運行
'成因, Microsoft VBA 設定引用項目 Calender Control 2007 不存在她的 XP 2010
'錯誤, 找不到項目
'除此以外還有其他莫名其妙的錯誤
'2013-05-16, 回來遇到她的電腦, 確認, 移除以上說明的那個引用項目, 全部問題解決
MsgBox ("你所輸入的資料格式都檢查通過, 已經填入 Sheet1" + Chr(13) + _
"不過資料的準確性需要自行判定" + Chr(13) + _
"可以開印標籤或發EMAIL")

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s