如何使用excle VBA 新增sheet於當前工作表之後並命名

版本 excel 2003
如何使用excle VBA 新增sheet於當前工作表之後並命名

需求:我需要把當前工作簿的名稱最後一位數+1,並新增在當前工作簿之後
在google上爬了一陣子,東湊西湊弄出以下代碼,大概符合我的要求了
但新增活頁簿時會新增在當前活頁簿的左邊,要如何讓他直接加在右邊呢?

;==================================
Sub fh()
Dim fname As String
fname = ActiveSheet.Name
newnameBefore = Left(fname, 5) '從當前工作表獲取名稱前五個字
newnameAfter = Right(fname, 1) '從當前工作表獲取名稱最後一字
newnameAfter = newnameAfter + 1 '將newnameAfter+1,以避免新工作表名稱重複
'MsgBox newnameBefore & newnameAfter
Sheets.Add.Name = newnameBefore & newnameAfter
End Sub
;==================================
2015-04-29 9:22 發佈
Try

Sheets.Add.(After:=ActiveSheet).Name = newnameBefore & newnameAfter
行路難,難重陳。行路難,難於山,險於水。行路難,不在水,不在山,只在人情反覆間。

vane wrote:
TrySheets...(恕刪)

你好,發生錯誤

編譯錯誤:

必須是:: 識別項 或 有括號的運算式


wei9133 wrote:
你好,發生錯誤編譯...(恕刪)


抱歉!應該是↓

Sheets.Add(After:=ActiveSheet).Name = newnameBefore & newnameAfter

Add與左括弧之間無句點。
行路難,難重陳。行路難,難於山,險於水。行路難,不在水,不在山,只在人情反覆間。

vane wrote:
抱歉!應該是↓Sheets...(恕刪)


你好 已可正常使用了
感謝你

以下為完整代碼,做個備份

Sub 建立新儲位()
Dim fname As String
fname = ActiveSheet.Name
newnameBefore = Left(fname, 5) '從當前工作表獲取名稱前五個字
newnameAfter = Right(fname, 1) '從當前工作表獲取名稱最後一字
newnameAfter = newnameAfter + 1 '將newnameAfter+1,以避免新工作表名稱重複
'MsgBox newnameBefore & newnameAfter
Sheets.Add(After:=ActiveSheet).Name = newnameBefore & newnameAfter
End Sub
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?