[算表] 關於表格名稱vba

看板Office作者 (人生如戲)時間9年前 (2017/04/22 12:03), 編輯推噓0(0039)
留言39則, 2人參與, 最新討論串1/1
軟體:Excel 版本:2013 我有很多個廠商資料的工作表 當新增廠商時 會自動複製第一個工作表 但因為廠商資料內容已有表格 複製過去時,表格名稱後面會預設成一些數字 但我希望將表格名稱變成這張工作表的名稱 ActiveSheets.Listobject.name = c 都會出現此處需要物件..? 後來想到可以用先把表格轉換成範圍再重新格式化表格的方式 但找不到把表格轉換成範圍的vba程式碼是什麼...QQ 謝謝版友解惑了.. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.175.48.36 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1492833797.A.339.html

04/22 12:19, , 1F
activesheets.listobjects(表格名稱).name=c 試試
04/22 12:19, 1F

04/22 12:21, , 2F
轉換為範圍的話,以listobject.unlist的方式
04/22 12:21, 2F

04/22 12:40, , 3F
S大..但複製過去表格名稱他是隨機的,每一次都不一樣呀?
04/22 12:40, 3F

04/22 12:43, , 4F
ActiveSheets.listobject.unlist 一樣此處需要物件..><
04/22 12:43, 4F

04/22 12:45, , 5F
每個工作表如只有一個表格名稱的話,以listobjects(1)的方
04/22 12:45, 5F

04/22 12:45, , 6F
04/22 12:45, 6F

04/22 12:46, , 7F
打listobject.unlist並不是要原po直接引用
04/22 12:46, 7F

04/22 12:47, , 8F
而是到google查範例,就和回文的一樣,如不指定名稱或索引
04/22 12:47, 8F

04/22 12:47, , 9F
值,excel怎麼會知道原po要指定的是那個表格名稱
04/22 12:47, 9F

04/22 12:49, , 10F
如一個工作表內二個以上表格,可以迴圈for each..next,
04/22 12:49, 10F

04/22 12:50, , 11F
listobjects的集合,或以for..next以listobjects計數count
04/22 12:50, 11F

04/22 12:53, , 12F
每個工作表只有一個表格,listobjects(1)還是需要物件..
04/22 12:53, 12F

04/22 12:55, , 13F
謝謝s大費心解釋,我去找找UNLIST的範例試試..
04/22 12:55, 13F

04/22 12:57, , 14F
那電腦有什麼方式可以知道他的隨機名稱?還是有沒有辦法
04/22 12:57, 14F

04/22 12:58, , 15F
知道最後新增的表格名稱呢? 這樣說不定可以?
04/22 12:58, 15F

04/22 12:58, , 16F
https://i.imgur.com/4r6J9FD 測試並無出現需要物件
04/22 12:58, 16F

04/22 12:59, , 17F
如要取得隨機名稱可以迴圈方式
04/22 12:59, 17F

04/22 13:07, , 18F
知道是那裡是有問題的地方了,回文第一筆應為
04/22 13:07, 18F

04/22 13:07, , 19F
activesheet.listobjects(表格名稱).name=c才是
04/22 13:07, 19F

04/22 13:08, , 20F
索引值的話,則是以activesheet.listobjects(1).name方式
04/22 13:08, 20F

04/22 13:14, , 21F
!!!!!!真的成功了! 為什麼不加s !!??
04/22 13:14, 21F

04/22 13:15, , 22F
S大 你太強了 萬分感謝你
04/22 13:15, 22F

04/22 13:18, , 23F
並無查到activesheets的相關用法,有可能並無該物件可使用
04/22 13:18, 23F

04/22 13:20, , 24F
的緣故
04/22 13:20, 24F

04/22 13:47, , 25F
s大,另外再請教.改定義範圍的名稱用name(1)就不行了..
04/22 13:47, 25F

04/22 14:24, , 26F
activeworkbook.names(1) 試試
04/22 14:24, 26F

04/22 15:14, , 27F
顯示 引述的個數錯誤或指定了不正確的屬性..?
04/22 15:14, 27F

04/22 15:17, , 28F
更名的話後面還有name要加上
04/22 15:17, 28F

04/22 15:38, , 29F
剛發現複製過去的名稱只在工作表領域,那行不行刪除工作
04/22 15:38, 29F

04/22 15:38, , 30F
表範圍的名稱就好呢?
04/22 15:38, 30F

04/22 15:52, , 31F
是指刪除領域是工作表,保留活頁簿嗎?
04/22 15:52, 31F

04/22 15:55, , 32F
如果是的話以worksheet.name的方式
04/22 15:55, 32F

04/22 16:53, , 33F
worksheet.name(1)=c 需要物件 加S 就變成找不到方法或
04/22 16:53, 33F

04/22 16:53, , 34F
資料成員
04/22 16:53, 34F

04/22 16:56, , 35F
回剛才 是能不能刪除領域只在工作表的名稱範圍 而在活頁
04/22 16:56, 35F

04/22 16:56, , 36F
簿的名稱範圍不刪除呢?
04/22 16:56, 36F

04/22 16:57, , 37F
worksheets(工作表名).names(1)
04/22 16:57, 37F

04/22 16:59, , 38F
上述為指定領域設為工作表的自訂名稱
04/22 16:59, 38F

04/22 17:13, , 39F
成功了!!! !! 痛哭牛替...謝謝soyoso前輩!!
04/22 17:13, 39F
文章代碼(AID): #1O-jO5Cv (Office)
文章代碼(AID): #1O-jO5Cv (Office)