EXCEL VBA复制样板sheet并重命名为XXX_1,再次执行就再复制一个重命名为XXX_2,如此循环,求助。

目的:复制样板sheet并重命名为XXX_1,再次执行就再复制一个重命名为XXX_2,如此循环,请问这功能能否用VBA实现?另:如果要在XXX_6时不再新建sheet,而... 目的:复制样板sheet并重命名为XXX_1,再次执行就再复制一个重命名为XXX_2,如此循环,请问这功能能否用VBA实现?
另:如果要在XXX_6时不再新建sheet,而是覆盖原来的XXX_1,这样的功能能否实现?
如果能实现,请教各位高手,代码如何写?
展开
 我来答
尹水若寒
2013-04-25 · TA获得超过292个赞
知道小有建树答主
回答量:307
采纳率:0%
帮助的人:259万
展开全部
Private lngRunTimes As Integer '?行次数
Sub CopySheets()
Dim strShtName As String '工作表名称
Dim lngShtNo As Integer '?号
strShtName = "XXXXXX_"
Sheets("Sheet").Select
If lngRunTimes < 6 Then
lngRunTimes = lngRunTimes + 1
lngShtNo = Sheets.Count
Sheets("Sheet").Copy after:=Sheets(lngShtNo)
Else
lngRunTimes = lngRunTimes + 1
lngShtNo = lngRunTimes - (Int(lngRunTimes / 6) * 6)
Sheets(strShtName & Str(lngShtNo)).Delete
Sheets("Sheet").Copy after:=Sheets(lngShtNo)
End If
ActiveSheet.Name = "XXXXXX_" & Str(lngShtNo)
End Sub

大概写了下,因为删除时会有提醒,如果不想要,可以再给你改一下

Private lngRunTimes As Integer '?岘师悢
Sub CopySheets()
Dim strShtName As String '岺嶌昞柤徧
Dim lngShtNo As Integer '?崋
strShtName = "XXXXXX_"

Sheets("Sheet").Select

If lngRunTimes < 6 Then
lngRunTimes = lngRunTimes + 1
lngShtNo = Sheets.Count
Sheets("Sheet").Copy after:=Sheets(lngShtNo)
Else
lngRunTimes = lngRunTimes + 1
lngShtNo = lngRunTimes - (Int(lngRunTimes / 6) * 6)

Application.DisplayAlerts = False '钀暵采帵瀥
Sheets(strShtName & Str(lngShtNo)).Delete
Application.DisplayAlerts = True '懪奂采帵瀥

Sheets("Sheet").Copy after:=Sheets(lngShtNo)
End If

ActiveSheet.Name = "XXXXXX_" & Str(lngShtNo)
End Sub
追问
两个问题:1.运行一次以后复制的sheet名字是XXX_3不是2,能否解决?
2.如果在后面的代码需要active刚才复制的sheet,但是复制的sheet不是active状态,应该怎么active?Workbooks("yyyyyy").Sheets(xxxxxx).Activate,就是xxxx应该写什么?
非常感谢!
追答
1.运行时,book内只有“Sheet”一个表,我这测试正常。。。。
2. ActiveSheet.Name = "XXXXXX_" & Str(lngShtNo)
所以你可以这样写
Workbooks("yyyyyy").Sheets("XXXXXX_" & Str(lngShtNo)).Activate
javahello
推荐于2018-05-15 · TA获得超过376个赞
知道小有建树答主
回答量:327
采纳率:50%
帮助的人:214万
展开全部
Sheets("模板").Select
Range("A1:R3").Select '选中a1到r3范围
Selection.Copy ‘复制
Worksheets.Add after:=Worksheets("sheet2") '在工作表sheet2之后添加一个工作表"
Sheets("模板").Select
Sheets("模板").Paste
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式