Sub CreateWorkSheetByRange()
Dim WorkRng As Range
Dim Ws As Worksheet
 Dim arr As Variant
Dim template As Worksheet
Dim xTitleId As String
On Error Resume Next
xTitleId = "Select Range"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
arr = WorkRng.Value
Application.ScreenUpdating = False
 arr = WorkRng.Value
 Application.ScreenUpdating = False
' Create the Worksheet names based on range selected 
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
Set Ws = Worksheets.Add(after:=Application.ActiveSheet)
  Ws.Name = arr(i, j)
   Next
Next
Application.ScreenUpdating = True
End Sub

1 ответ1

0

Конечно, вы можете создавать имена рабочих листов, используя значения из ячеек Excel.
Используйте следующий код VBA

Sub CreateWorkSheetByRange()
'variable declaration
Dim WorkRng As Range
Dim Ws As Worksheet
Dim arr As Variant
Dim template As Worksheet
'**Edit-2:Declared xTitleId**
Dim xTitleId As String
'**Edit-3:Declared i and j**
Dim i as Variant
Dim j as Variant
'Start of Program
On Error Resume Next
'Specify the title of the dialog that requests for range
xTitleId = "Select Range"
' Assign the application.selection function to the variable WorkRng
Set WorkRng = Application.Selection
' Accept input from the user
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
' Create an array of the input values
arr = WorkRng.Value
' The following line is optional
Application.ScreenUpdating = False
' Create the Worksheet names based on range selected
For i = 1 To UBound(arr, 1)
    For j = 1 To UBound(arr, 2)
        Set Ws = Worksheets.Add(after:=Application.ActiveSheet)
        Ws.Name = arr(i, j)
    Next
Next
Application.ScreenUpdating = True
End Sub

Приведенный выше код позволяет вам выбрать диапазон ячеек, из которых вы хотите создать имена листов.
Вы можете в дальнейшем опираться на это и посмотреть, можете ли вы изменить это для своего сценария смены имен
К вашему сведению: я новичок в VBA ... но вы можете узнать это очень легко

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .