- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2025-7-5
|
本帖最後由 luhpro 於 2010-7-27 21:03 編輯
回復 9# jackdream
剛剛測試發現真的不能用,
因為會出現 "陣列索引超出範圍" 的錯誤訊息.
With Workbooks(1)
MyName = .Sheets(1).Name
End With
上面這樣可以.
With Workbooks("spss.xls")
MyName = .Sheets(1).Name
End With
上面這樣就不接受
可能需要用其他方式來引用,
這也是我覺得 Excel VBA 最不人性的地方,
很多地方明明直覺的應該這樣就對偏偏就是不能用. > <
==========================================================================================================
回復 6# basarasy
回復 kimbal
因為我想要 sheet1.name 用這個sheet改名了都可以run到
eg. sheet1(sheet1)>sheet1(人名 ...
basarasy 發表於 2010-7-27 19:53 
回復 10# basarasy
回復 9# jackdream
Workbooks("book2.xls").Activate
MyName = Sheets(1).Name 這句是左邊到右第1個sheet
如果亂了 sheet3 sheet2 sheet1 就不能指定sheet1了.
你上面這兩個敘述似乎有邏輯上的疑義,
一方面你希望 Sheet 改名了VBA程式仍然可以參考到原來那個Sheet(序列位置不變)
另一方面你又希望Sheet 改名了VBA上被雙引號括弧的名稱文字能跟著改好參考到相同名稱的Sheet.(序列位置不一樣了)
這樣好像不太可能做到. |
|