Página 1 de 1

Criar novas planilhas com nomes obtidos de uma lista.

Enviado: 05 Out 2018 às 22:19
por aleksander
Olá pessoal!

Estou tentando criar uma série de planilhas atribuindo seus nomes vindo de uma outra planilha.
Criei um código via MACRO e tentei automatizar com uma estrutura For .

Obtive erro em vário lugares no código como marcado abaixo.

Sub Macro7()
'
' Macro7 Macro
'
Dim nomePlanilha As String
Dim linhas As Integer
Const coluna As String = "A"

'
Código: Selecionar todos

For i = 7 To 57

    Sheets("BASE").Select
    Sheets("BASE").Copy Before:=Sheets(2)
    
    Sheets("FECHAMENTO").Select
    
    ' seleciona o celula A7 da planilha FECHAMENTO na primeira iteração
    ' ERRO em tudo daqui pra baixo[code]
Range(coluna & linhas).Select

' lança o conteúdo da A7 (string) na variável nomePlanilha
nomePlanilha = Selection.Copy

' Altera nome da planilha BASE (2) para o conteúdo da variável nomePlanilha
Sheets("BASE (2)").Select
Sheets("BASE (2)").Name = nomePlanilha

' E após renomear a planilha, atribui a célula C2, também o conteúdo da váriavel nomePlanilha
Range(c2).Value2 = nomePlanilha


' Próxima iteração indo agora para A8
Next i




End Sub

[/code]

Obrigado.

Re: Criar novas planilhas com nomes obtidos de uma lista.

Enviado: 05 Out 2018 às 22:42
por osvaldomp
Experimente o código abaixo.
Considerei que a lista com os nomes das novas planilhas está na planilha FECHAMENTO, a partir de A7.
Código: Selecionar todos
Sub Macro7V2()
 Dim c As Range
  For Each c In Sheets("FECHAMENTO").Range("A7:A" & Sheets("FECHAMENTO").Cells(Rows.Count, 1).End(3).Row)
   Sheets("BASE").Copy Before:=Sheets(2)
   ActiveSheet.Name = c.Value
   ActiveSheet.[C2] = c.Value
  Next c
End Sub