[英]Why excel worksheet name has (2) in it?
我正在使用以下VB.NET代码在同一个工作簿中复制excel表,但每次都用(2)写入工作表名称,这里有什么问题?
Dim inp as Integer
inp=Val(Textbox1.Text)
oWB = oXL.Workbooks.Open("D:\testfile.xlsx")
oSheet = oWB.Worksheets("base")
With oWB
For i = 0 To inp - 1
oSheet.Copy(Before:=.Worksheets(i + 1))
With oSheet
.Name = "INP" & i + 1
End With
Next
End With
如何摆脱工作表名称上的“(2)”?
谢谢
以下行:
oSheet.Copy(Before:=.Worksheets(i + 1))
正在创建您指定的工作表的副本。 当您创建工作表的副本时,Excel会在名称中添加(2)
以防止出现重复的工作表名称。
比方说,你有一个你试图复制的名为base
的工作表。 在处理上面的那一行之后,你最终会得到名为base
的原始工作表和一个名为base (2)
的新工作表。
然后,你的代码的下几行:
With oSheet
.Name = "INP" & i + 1
End With
只需重命名原始工作表。
试试这个而不是那两行:
With oWB.Worksheets("base (2)")
.Name = "INP" & i + 1
End With
只需参考您创建的工作表并重命名即可。 你只需要一行工作表(i + 1).Name =“INP”和i + 1见下文
Dim inp as Integer
inp=Val(Textbox1.Text)
oWB = oXL.Workbooks.Open("D:\testfile.xlsx")
oSheet = oWB.Worksheets("base")
With oWB
For i = 0 To inp - 1
oSheet.Copy(Before:=.Worksheets(i + 1))
'reference and name worksheet
Worksheets(i + 1).Name = "INP" & i + 1
Next
End With
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.