iT邦幫忙

0

VBA Workbooks()陣列索引超出目錄

  • 分享至 

  • xImage

各位前輩好,
我寫了一段VBA程式,在自己電腦運作都沒問題,然而換到其他電腦執行,卻會出現"陣列索引超出目錄"的錯誤。弄不清楚到底發生何事? 想請前輩指導。

AW = ActiveWorkbook.Name

TOTname = Left(AW, InStr(AW, ".") - 1) '取得檔名

Set GlueTOT = Workbooks(TOTname).Sheets("FF")
Neish iT邦研究生 1 級 ‧ 2024-03-22 07:27:47 檢舉
會不會是ActiveWorkbook.Name在另外一台電腦路徑不同。
如果你指派絕對路徑,看會不會正常。
froce iT邦大師 1 級 ‧ 2024-03-22 10:47:29 檢舉
ActiveWorkbook 是代表使用中視窗 (頂端視窗) 中的活頁簿,這會隨著使用者的操作改變與執行時間改變。

若要用跟巨集同樣的工作簿,要用ThisWorkbook
https://learn.microsoft.com/zh-tw/office/vba/api/excel.application.thisworkbook
wd_811 iT邦新手 5 級 ‧ 2024-03-25 10:36:40 檢舉
1. 指派絕對路徑還是有問題。
2. 改用 ThisWorkbook 問題還是存在。

後來把TOTname = Left(AW, InStr(AW, ".") - 1) 注釋掉,
Set GlueTOT = Workbooks(TOTname).Sheets("FF") 改成 Workbooks(AW)就成功了。
但是原本的寫法在某些電腦可以執行,其他電腦卻無法.....不懂為什麼.....
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答