彰化一整天的論壇

 找回密碼
 立即註冊
查看: 1316|回復: 29

我需要用公司名稱來跟改sheet的名字

[複製鏈接]
發表於 2016-11-1 16:29:11 | 顯示全部樓層 |閱讀模式
我需要用公司名稱來跟改sheet的名字

但是跟改後,裡面會有相同公司,就不能再同一張表格,會顯示錯誤

我希望能夠將 相同公司的內容作合併 成為同一個sheet

底下是跟改SHEET名稱的程式

請問我還需要增加什麼



謝謝

未命名.png
回復

使用道具 舉報

發表於 2016-11-1 16:49:47 | 顯示全部樓層
您可以在改名前,再用迴圈去檢查是否有同一個工作表名稱存在,若有就把目前工作表的內容複製到已存在的工作表下方.
回復 支持 反對

使用道具 舉報

發表於 2016-11-1 16:51:38 | 顯示全部樓層
imingho 發表於 2016-11-1 16:49
您可以在改名前,再用迴圈去檢查是否有同一個工作表名稱存在,若有就把目前工作表的內容複製到已存在的工作表 ...

檢查的程式碼可以參考
檢查工作表名稱是否存在
http://discuz.bestdaylong.com/thread-30968-1-1.html

點評

謝謝  發表於 2016-11-1 17:01
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2016-11-1 17:42:55 | 顯示全部樓層
imingho 發表於 2016-11-1 16:51
檢查的程式碼可以參考
檢查工作表名稱是否存在
http://discuz.bestdaylong.com/thread-30968-1-1.html

你好  因為資料有很多 所以無法用手動複製的

而且應該要先更改檔名,SHEET才會變相同 出現錯誤

如果沒有執行程式之前 sheet 不會是相同的 謝謝

還有你的程式是直接就可以使用了嗎?
回復 支持 反對

使用道具 舉報

發表於 2016-11-1 20:13:04 | 顯示全部樓層
z22344566 發表於 2016-11-1 17:42
你好  因為資料有很多 所以無法用手動複製的

而且應該要先更改檔名,SHEET才會變相同 出現錯誤

您好,
    您可以上傳範例檔案嗎?我直接套程式碼給您看.您會比較清楚.
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2016-11-1 22:51:07 | 顯示全部樓層
已上傳

再麻煩了  

謝謝

test.xlsx

26.55 KB, 下載次數: 101

測試

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2016-11-1 23:34:12 | 顯示全部樓層
imingho 發表於 2016-11-1 20:13
您好,
    您可以上傳範例檔案嗎?我直接套程式碼給您看.您會比較清楚.

已附上

麻煩了 感恩

test.xlsx

26.55 KB, 下載次數: 92

回復 支持 反對

使用道具 舉報

發表於 2016-11-2 08:39:50 | 顯示全部樓層
本帖最後由 imingho 於 2016-11-2 08:43 編輯
z22344566 發表於 2016-11-1 23:34
已附上

麻煩了 感恩

我加上檢查工作表是否重覆,若有重覆就會變成後面加上迴圈數字.

PS:因為我已執行過了,若是您要執行.您可以先執行ReNewTabs,讓它變成流水號.再執行RenameTabs

sheet_rename_01.jpg

1.程式碼及結果畫面

  1. Sub RenameTabs()

  2.     For x = 1 To Sheets.Count
  3.    
  4.        If Worksheets(x).Range("B5").Value <> "" Then
  5.           If check_sheet(Sheets(x), Worksheets(x).Range("B5").Value) = False Then
  6.              Sheets(x).Name = Worksheets(x).Range("B5").Value
  7.           Else
  8.              Sheets(x).Name = Worksheets(x).Range("B5").Value & x '加上數字讓它變成惟一
  9.           End If
  10.        End If
  11.    
  12.     Next

  13. End Sub
  14. Function check_sheet(ByVal objSheet, ByVal strSheetName)
  15.     '檢查工作表名稱是否存在
  16.     check_sheet = False
  17.     For i = 1 To objSheet.Parent.Sheets.Count
  18.         If objSheet.Parent.Sheets(i).Name = strSheetName Then
  19.            check_sheet = True
  20.            Exit For
  21.         End If
  22.     Next
  23. End Function
  24. Sub ReNewTabs()
  25.     '重設工作表為數字
  26.     For x = 1 To Sheets.Count
  27.         Sheets(x).Name = x
  28.     Next

  29. End Sub

複製代碼



sheet_rename.xls

116 KB, 下載次數: 0

售價: 2 金錢  [記錄]  [購買]

回復 支持 反對

使用道具 舉報

 樓主| 發表於 2016-11-2 18:31:09 | 顯示全部樓層
imingho 發表於 2016-11-2 08:39
我加上檢查工作表是否重覆,若有重覆就會變成後面加上迴圈數字.
PS:因為我已執行過了,若是您要執行.您可以 ...

感謝你

只是能不能不要用流水號阿 直接將相同sheet名直接合併起來???


還有我在最底下 下載檔案 售價要兩金錢 意思是要程式碼要收費這樣嗎?
回復 支持 反對

使用道具 舉報

發表於 2016-11-2 23:14:29 | 顯示全部樓層
本帖最後由 imingho 於 2016-11-2 23:20 編輯
z22344566 發表於 2016-11-2 18:31
感謝你

只是能不能不要用流水號阿 直接將相同sheet名直接合併起來???

合併是可以的.我給你類似的程式碼.您參考修改看看.有問題再提出.
售價那是虛擬幣.每天登入後論壇會有2塊金錢.
http://download.bestdaylong.com/f9.htm
將Excel的多個工作表合併成一個
處理步驟如下
1.若工作表存在.選取目前的工作表內容
2.複製
3.切換到已存在工作表
4.找到有資料的最後一列
5.貼上

回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

 ㄚ母滴雞湯
 員林香純滴雞精

Archiver|手機版|小黑屋|彰化一整天的論壇(Excel,Office)  |网站地图

GMT+8, 2018-9-22 03:39 , Processed in 0.155325 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表