Vba 根据输入到单元格中的数字复制工作表

Vba 根据输入到单元格中的数字复制工作表,vba,excel,button,Vba,Excel,Button,每次我调试某一类型的电气系统时,我都会填写一份工作手册 每个工作簿包含6张表格,每次填写和使用站点信息等。。有两张表,我可以根据需要手动复制2到40次,并为每个“电气面板”填写具体信息 它们被复制的次数是我在前导信息表上输入的值 有没有一种简单的方法可以创建一个不打印的按钮/宏,它将复制工作表并以如下方式命名: X面板 其中是当前的数字,X是总数 不幸的是,我的技能在于电,而不是Excel或Visual Basic脚本 通常情况下,我们会要求您自己先尝试一下,当您陷入困境时,我们会提供帮助,因为

每次我调试某一类型的电气系统时,我都会填写一份工作手册

每个工作簿包含6张表格,每次填写和使用站点信息等。。有两张表,我可以根据需要手动复制2到40次,并为每个“电气面板”填写具体信息

它们被复制的次数是我在前导信息表上输入的值

有没有一种简单的方法可以创建一个不打印的按钮/宏,它将复制工作表并以如下方式命名:

X面板

其中是当前的数字,X是总数


不幸的是,我的技能在于电,而不是Excel或Visual Basic脚本

通常情况下,我们会要求您自己先尝试一下,当您陷入困境时,我们会提供帮助,因为您是一个有火花的人,可能不会在市场上学习太多编程知识。我会让您继续学习,尽管通常您必须先自己尝试

按照以下步骤进行操作,您就可以开始了:

在Excel打开的情况下,按Alt+F11可打开VBE编辑器 选择插入->模块 粘贴在下面的代码中,并在有[方括号]的地方进行更改-我在下面为每一个都添加了一个示例 在要输入面板数量的位置旁边插入一个形状;你想点击的任何形状 在形状上单击鼠标右键并指定宏。从列表中选择生成图纸,然后单击“确定” 再次右键单击形状,转到“大小和属性”>“属性”,然后取消选中“打印对象” 现在,当您在单元格中输入一个数字并单击它时,应创建图纸。如果它遇到了一个错误,它会给你一条消息告诉你它是什么,尽管这对你来说可能并不意味着什么。希望它无论如何都能正常工作

要粘贴的代码:

Sub MakeSheets()
On Error GoTo Err_handle

Dim i As Integer, i2 As Integer
Dim sh As Worksheet

' Set the worksheet to copy
Set sh = Worksheets("[Name of sheet to copy]")
' Example: Set sh = Worksheets("Panel 1 of 1")

' Get the number of sheets to copy
i = Worksheets("[Name of Sheet Where You Enter the Number]"). _
    Range("[Cell reference]")
' Example: i = Worksheets("Panel Summary").Range("C3")

' Say how you want to name the first sheet
sh.Name = "Panel 1 of " & i

i2 = ActiveWorkbook.Worksheets.Count

For x = 1 To i - 1
    sh.Copy After:=Sheets(i2 + x - 1)
    ' Say how you want to name subsequent sheets
    Sheets(x + i2).Name = "Panel " & x + 1 & " of " & i
Next x


Err_handle:
MsgBox "Error Number: " & Err.Number & vbCrLf _
    & "Error Desc: " & Err.Description, vbCritical, "Error!"

End Sub

我一打开VB窗口就被卡住了!非常感谢您在这方面的帮助,它工作得非常好!