0

我是这个网站的新手,我有一个工作簿(成本计算计算器),在工作簿中,我有很多工作表,但我关心的工作表被命名为 (Tour_Fare_&_Analysis) 和 (RoutePlanner)。

我想要做的是复制路线规划器并将其放置在所有其他仅具有值的工作表之后(没有原始公式),并使用工作表(Tour_Fare_&_Analysis)中单元格(“G2”)中的值重命名此新副本。

在我的搜索中,我发现了一个最初可以工作的代码,但是后来当我尝试更改代码以仅复制值时,我不知道出了什么问题,甚至原始代码也带回了错误消息。我正在使用的代码如下,我也将错误 ms 放在代码后面。

Dim Test As Worksheet
Sheets("RoutePlanner").Copy After:=Sheets(Sheets.Count)
Set Test = ActiveSheet
ActiveSheet.Name = Sheets("Costing Summery").Range("G2").Value

错误消息:运行时错误'1004':

无法将工作表重命名为与另一个工作表、引用的对象库或 Visual Basic 引用的工作簿相同的名称。

请任何人都可以帮我解决这个问题,我将非常感谢任何帮助,因为我已经将谷歌搜索颠倒过来尝试找到我收到的错误消息的答案。

4

1 回答 1

0

这个问题已经有一段时间了,但这是我解决类似问题的方法。我允许它使用相同的名称,但在名称中添加一个序列号。

(我也养成了先插入东西或在顶部插入东西的习惯,因为我后面需要查看我一年前创建的东西,节省了我到所有东西的末尾/底部的时间。)

Sub OrderConfirmation()

Dim newsheet As Worksheet
Dim i As Integer
Dim OCNO As String

OCNO = "OC #" & ' adding the order number from a different sheet/row that Im working with

Worksheets("Template").Copy before:=Worksheets(1)
Set newsheet = ActiveSheet

On Error Resume Next
newsheet.Name = OCNO
    If Err.Number = "1004" Then
    For i = 1 To 10
    On Error Resume Next
    newsheet.Name = OCNO & "(" & i & ")"
    If Not Err.Number = "1004" Then i = 10

Next i
End If

End Sub
于 2014-02-11T07:11:04.810 回答