搜索
查看: 271|回复: 0

创建新副本VBA

[复制链接]

978

主题

1094

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
15950
发表于 2024-2-10 09:55:08 | 显示全部楼层 |阅读模式

Sub CopyAndRenameWorksheetWithInput()
    ' 定义源工作表名称和目标工作表名称
    Dim sourceSheetName As String
    Dim targetSheetName As String
      
    sourceSheetName = "Sheet1" ' 源工作表名称,假设我们要复制这个工作表
      
    ' 弹出输入框让用户填写目标工作表的新名称
    targetSheetName = InputBox("请输入目标工作表的新名称:", "重命名工作表")
      
    ' 检查用户是否输入了名称
    If targetSheetName = "" Then
        MsgBox "您没有输入新工作表的名称,操作已取消。", vbExclamation
        Exit Sub
    End If
      
    ' 检查源工作表是否存在以及目标工作表名是否已存在
    On Error Resume Next ' 忽略错误
    Dim sourceSheet As Worksheet
    Set sourceSheet = ThisWorkbook.Sheets(sourceSheetName)
    Dim targetSheet As Worksheet
    Set targetSheet = ThisWorkbook.Sheets(targetSheetName)
    On Error GoTo 0 ' 恢复正常错误处理
      
    If sourceSheet Is Nothing Then
        MsgBox "源工作表 " & sourceSheetName & " 不存在。", vbExclamation
        Exit Sub
    ElseIf Not targetSheet Is Nothing Then
        MsgBox "目标工作表名称 " & targetSheetName & " 已存在,请使用其他名称。", vbExclamation
        Exit Sub
    End If
      
    ' 复制源工作表
    sourceSheet.Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
      
    ' 重命名新工作表
    Dim newSheet As Worksheet
    Set newSheet = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
    newSheet.Name = targetSheetName
      
    ' 提示用户工作表已成功复制和重命名
    MsgBox "工作表 " & sourceSheetName & " 已成功复制并重命名为 " & targetSheetName & "。", vbInformation
End Sub
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

表格智创网

网站简介:表格智创网,是一家以表格设计和技能分享的专业社区,由会计帮帮网投资建设,尽专业,助提高专业技能。

表格智创网欢迎您!

联系我们

  • 工作时间:早上9:00-16:00
  • 客服电话:18668755857
  • 本站网址:www.excelwps.com
  • 淘宝店址:kjbbw.taobao.com

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表