繁体   English   中英

为什么excel工作表名称中有(2)?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM