Excel 2007: мне нужно автоматически создавать вкладки и размещать имя вкладки в ячейке на каждой новой вкладке. То, что у меня ниже, из командной кнопки, сделает новую вкладку. Как он может читать из списка имен и автоматически создавать вкладку с именем в ячейке B3 на каждой вкладке?

Private Sub CmdNewTAB_Click()
Worksheets("FocusAreas").Copy After:=Worksheets(Worksheets.Count)
'Active.Sheet.Name = NewSheet.Value
'Tab name in B3
End Sub

1 ответ1

2

Если ваш список представляет собой значение элементов на листе Excel, и вы хотите добавить вкладки на основе этого списка, вы МОЖЕТЕ сделать что-то вроде этого:

Sub Readinto_array()

On Error Resume Next
Dim arrData() As Variant
arrData = Range("D5:D9").Value

For Each cData In arrData
    If cData <> "" Then
        Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = cData
        Worksheets(cData).Range("B3") = cData

        End If
Next cData
End Sub

Допущения для вышесказанного:

  1. Список имен находится на том же листе, что и кнопка.
  2. Список находится в той же книге, что и кнопка.

Worksheets(cData).Range("B3") = cData - это часть, которая добавляет имя листа на новый лист в ячейке B3 .

Если вы можете указать, где находится ваш список, таким же образом; если он находится не на том же листе, что и кнопка, укажите правильное значение в части arrData = Range() файла VBA, например: arrData = Worksheets("SourceSheet").Range("D5:D9").Value

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