【茶包射手日記】Excel xlsm複製工作表到xls時出現1004錯誤

幫忙修改某個Excel VBA,透過巨集要將xslm的某個工作表(Worksheet)複製到另一個xls活頁簿(Workbook),執行Sheets("TheSheet").Copy Before:=AnothorXLS.Sheets("Boo"),卻出現以下錯誤:

執行階段錯誤 '1004':

Excel無法將工作表插入目的地活頁簿,因為它包含的列和欄比來源活頁簿少。若要移動或複製資料至目的地活頁簿,您可以選取資料,然後使用[複製]與[貼上]命令將它插入另一個活頁簿的工作表。
Excel cannot insert the sheets into the destination workbook, because it contains fewer rows and columns than the source workbook. To move or copy the data to the destination workbook, you can select the data, and then use Copy and Paste commands to insert it into the sheets of another workbook.

懸疑之處在於同一組檔案使用者測試回報經運作正常,讓我一直懷疑是自己操作步驟有誤導致,而使用者遠在天邊無從目睹操作過程,就只能透過電話及Skype一直在操作過程及環境細節打轉。最後終於發現一點明顯差異: 使用者用Excel 2003,而我用Excel 2010。之前沒想到此點,是認定使用者既能開啟xlsm,應是Excel 2007+版本,忽略了可能是靠相容套件無縫整合。而挖出Excel 2003 vs Excel 2007差異,修正方向後才知是是我Excel江湖經驗不足,不然早該抓出問題。

所謂的目的地列與欄比較少,指的是Excel 2007+支援1,048,576列x16,384欄,而Excel 2003只支援65,536列x256欄,所以將xlsm(Excel 2007格式)的工作表複製到xls(Excel 2003格式)時,就註定要滿出來而報錯~ (參考)

知道問題來源,要解決只是小菜一碟。將xls改存成xlsx,問題豁然而解~

歡迎推文分享:
Published 08 May 2013 08:35 PM 由 Jeffrey
Filed under:
Views: 17,897



意見

# 水晶燕窩仙子 said on 27 May, 2013 11:35 PM

thanks for sharing.

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 
(提醒: 因快取機制,您的留言幾分鐘後才會顯示在網站,請耐心稍候)

5 + 3 =

搜尋

Go

<May 2013>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應
  • 2013-05-27 水晶燕窩仙子
    【茶包射手日記】Excel xlsm複製工作表到xls時出現1004錯誤
    thanks for sharing.

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication