Board logo

標題: [發問] (已解決)刪除工作表裡面所有的定義名稱 [打印本頁]

作者: freeffly    時間: 2011-4-25 21:31     標題: (已解決)刪除工作表裡面所有的定義名稱

本帖最後由 freeffly 於 2012-2-22 17:04 編輯

如果我的檔案裡面有些工作表裡面,有專門給該工作表使用的定義名稱
有什麼方式可以一次刪除這些專門指定工作表的定義名稱嗎?
作者: chin15    時間: 2011-4-25 22:36

Sub dm()
For Each c In ActiveWorkbook.Names
   c.Delete
Next
End Sub
作者: freeffly    時間: 2011-4-26 08:26

回復 2# chin15


    感謝
     程式碼比想像中的簡單
     原本自己試了很多方法
     就跟正確方法差一些
作者: GBKEE    時間: 2011-4-26 16:19

本帖最後由 GBKEE 於 2011-4-26 16:22 編輯

回復 3# freeffly
1樓提問 :有專門給該工作表使用的定義名稱,有什麼方式可以一次刪除這些專門指定工作表的定義名稱嗎?
2樓的程式會刪掉活頁簿中所有的定義名稱
提供只刪該工作表的定義名稱
  1. Sub Macro1() '定義名稱為該工作表專用的名稱
  2.     Sheet1.Names.Add Name:="ABC", RefersToR1C1:="=R5C2:R13C2"
  3. End Sub

  4. Sub Ex()
  5. For Each E In Sheet1.Names '刪除Sheet1該工作表的名稱
  6. E.Delete
  7. Next
  8. End Sub
複製代碼

作者: freeffly    時間: 2011-4-28 08:30

回復 4# GBKEE


  大大果然眼尖   我也有發現 所以我改成我要的方式
  我的方法如下

    Sub 刪除名稱()
    For i = 4 To Sheets.Count
    Sheets(i).Visible = True
    Sheets(i).Select
    For Each c In ActiveSheet.Names
     c.Delete
   Next
    Sheets(i).Visible = False
    Next
End Sub
作者: GBKEE    時間: 2011-4-28 16:16

回復 5# freeffly
簡化一下
  1. Sub 刪除名稱()
  2.     For I = 4 To Sheets.Count
  3.         For Each c In Sheets(I).Names
  4.             c.Delete
  5.         Next
  6.     Next
  7. End Sub
複製代碼

作者: freeffly    時間: 2011-4-28 17:43

回復 6# GBKEE


    感謝大大幫忙簡化
     我以為指定工作表要讓他顯示才能作業
      沒想到還可以這樣做
作者: chin15    時間: 2011-4-28 20:25

在每個工作表上循環,刪除每個表的定義名稱
跟一次刪除活頁簿內已定義的名稱
差別在哪裡?
作者: GBKEE    時間: 2011-4-29 16:49

回復 8# chin15
這就要請教樓主的需求是什麼
作者: freeffly    時間: 2011-4-29 18:07

回復 8# chin15


    我主要是要刪除某些工作表的定義名稱
    可能是第4各工作表以後的
     因為前面幾各工作表的名稱還要保留
     各位都提供了我學習的地方
      謝謝喔
作者: voyageellen    時間: 2013-6-5 23:36

請問我只想刪除特定工作表的定義名稱時(如附檔)
照上述說明編寫的程式碼卻沒有反應(將Sheet1改為Sheet3)
應該要如何修改呢?
作者: freeffly    時間: 2013-6-6 11:48

回復 11# voyageellen


    因為你設定的定義名稱不是專屬於sheet3的
   你再隨便去設各定義名稱如下面然後在名稱前面加上工作表名稱再去試你的代碼看看變化
   
   要刪定義名稱!A
作者: voyageellen    時間: 2013-6-6 16:49

謝謝freeffly的解說
已經可以依照我想要的結果執行




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)