Abas automaticamente da lista

0

Excel 2007: Preciso criar guias automaticamente e colocar o nome da guia em uma célula em cada nova guia. O que eu tenho abaixo, de um botão de comando, fará a nova aba. Como pode ler a partir de uma lista de nomes e criar automaticamente uma aba com o nome na célula B3 em cada aba?

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

1 resposta

2

Se a sua lista é um valor de itens dentro de uma planilha do excel e você deseja adicionar guias com base nessa lista, você PODERIA fazer algo assim:

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

Suposições para o acima :

  1. A lista de nomes está na mesma planilha que o botão.
  2. A lista está na mesma pasta de trabalho que o botão.

O Worksheets(cData).Range("B3") = cData é a parte que adiciona o nome da planilha à nova planilha na célula B3 .

Se você puder especificar onde sua lista está localizada de uma maneira simular; se não estiver na mesma planilha que o botão, especifique o valor adequado na parte arrData = Range() do arquivo VBA, como: arrData = Worksheets("SourceSheet").Range("D5:D9").Value .

    
por 06.01.2012 / 23:14