返回列表 上一主題 發帖

sheet name 問題

回復 6# basarasy

我覺得 2# 的 Sheets(1).Name 應該就是你想要的答案了啊?

不管你的 Sheet name 如何變更,
只要確定是抓 第 n 個 Sheet,
否則你若用 Sheets("Sheet1") 之類的方式,
已經就定死了你要找的 Sheet name 了不是嗎?

TOP

本帖最後由 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.(序列位置不一樣了)
這樣好像不太可能做到.

TOP

'很多地方明明直覺的應該這樣就對偏偏就是不能用. '
   me2
那麼有方法look了 sheet1至sheet3不能 移 ...
basarasy 發表於 2010-7-27 21:34


我想應該不是 Sheet 能不能移動位置的問題,
而是應該要先確認你抓取資料 Sheet 的基準在哪,
看是要以 Sheet 的 "Name 文字" 為標的,
還是要以 Workbook 上的 "第幾個"  Sheet 為標的.

TOP

        靜思自在 : 為自己找藉口的人永遠不會進步。
返回列表 上一主題