从单元格值动态分配的工作表名称

从单元格值动态分配的工作表名称

子 CreateWorkSheetByRange()
Dim WorkRng 作为范围
Dim Ws 作为工作表
 Dim arr 作为变体
Dim 模板作为工作表
Dim xTitleId 作为字符串
出错时继续下一步
xTitleId = "选择范围"
设置 WorkRng = Application.Selection
设置 WorkRng = Application.InputBox("范围", xTitleId, WorkRng.Address, 类型:=8)
arr = WorkRng.值
应用程序.ScreenUpdating = False
 arr = WorkRng.值
 应用程序.ScreenUpdating = False
'根据选定范围创建工作表名称
对于 i = 1 到 UBound(arr,1)
对于 j = 1 到 UBound(arr,2)
设置 Ws = Worksheets.Add(after:=Application.ActiveSheet)
  Ws.名称 = arr(i,j)
   下一个
下一个
应用程序.ScreenUpdating = True
子目录结束

答案1

当然,您可以使用 Excel 单元格中的值来创建工作表名称。
使用以下 VBA 代码

子 CreateWorkSheetByRange()
'变量声明
Dim WorkRng 作为范围
Dim Ws 作为工作表
Dim arr 作为变体
Dim 模板作为工作表
'**编辑-2:声明 xTitleId**
Dim xTitleId 作为字符串
'**编辑-3:声明 i 和 j**
Dim i 作为变体
Dim j 作为变体
'程序开始
出错时继续下一步
'指定请求范围的对话框的标题
xTitleId = "选择范围"
' 将 application.selection 函数分配给变量 WorkRng
设置 WorkRng = Application.Selection
'接受用户的输入
设置 WorkRng = Application.InputBox("范围", xTitleId, WorkRng.Address, 类型:=8)
' 创建输入值的数组
arr = WorkRng.值
' 以下行是可选的
应用程序.ScreenUpdating = False
'根据选定范围创建工作表名称
对于 i = 1 到 UBound(arr,1)
    对于 j = 1 到 UBound(arr,2)
        设置 Ws = Worksheets.Add(after:=Application.ActiveSheet)
        Ws.名称 = arr(i,j)
    下一个
下一个
应用程序.ScreenUpdating = True
子目录结束

上面的代码允许您选择要从中创建工作表名称的单元格范围。
您可以进一步在此基础上进行构建,看看是否可以根据您的需要进行修改更改名称场景
仅供参考:我也是 VBA 新手...但你可以很容易地学会它

相关内容