Ir ao conteúdo

Posts recomendados

Postado

estou fazendo uma macro para criar automaticamente planilhas segundo uma lista, porém ao fazer o loop

preciso que o nome repetido na lista seja desconsiderado e pule para o proximo, ela para quando chega novamente ao primeiro nome

na parte     Sheets(Sheets.Count).Name = Nome, o comando if não funcionou, ajudem por favor

Sub CriarNovaPlanilha()


Dim Linha
Dim Nome
  

      Linha = 2
    
   Do While Sheets("NOME").Cells(Linha, "B") <> ""


    Nome = Sheets("NOME").Cells(Linha, "B")
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets(Sheets.Count).Select
    Sheets(Sheets.Count).Name = Nome
    
If Nome = Sheets(Sheets.Count).Name Then
Nome = Empty
GoTo saida
End If

saida:


Linha = Linha + 1


Loop

End Sub

 

Postado

Experimente:

Sub InserePlanilhaRenomeia()
 Dim c As Range
  For Each c In Sheets("NOME").Range("B2:B" & Sheets("NOME").Cells(Rows.Count, 2).End(3).Row)
   If Application.CountIf(Sheets("NOME").Range("B2:B" & c.Row), c.Value) = 1 Then
    Sheets.Add(after:=Sheets(Sheets.Count)).Name = c.Value
   End If
  Next c
End Sub

 

Postado
12 horas atrás, osvaldomp disse:

Experimente:


Sub InserePlanilhaRenomeia()
 Dim c As Range
  For Each c In Sheets("NOME").Range("B2:B" & Sheets("NOME").Cells(Rows.Count, 2).End(3).Row)
   If Application.CountIf(Sheets("NOME").Range("B2:B" & c.Row), c.Value) = 1 Then
    Sheets.Add(after:=Sheets(Sheets.Count)).Name = c.Value
   End If
  Next c
End Sub

 

obrigado pela ajuda, ela fez basicamente a mesma coisa, porém é que quando termina a lista e volta ao primeiro nome da erro, o que preciso é que pule o nome que ja esta na aba até chegar a um nome novo, exemplo: criou todas as abas da lista, ai entraram nomes novos, preciso que a macro ignore os nomes que ja tem e crie somente os novos nomes.

Postado

 

1 hora atrás, André Agni disse:

... é que quando termina a lista e volta ao primeiro nome da erro, ...

O código que passei não volta ao primeiro nome ao terminar a lista! Me parece que você quis dizer "ao rodar o código novamente", e ao rodar o código novamente, se a lista não foi alterada, obviamente retornará erro.

 

o que preciso é que pule o nome que ja esta na aba até chegar a um nome novo, exemplo: criou todas as abas da lista, ai entraram nomes novos, preciso que a macro ignore os nomes que ja tem e crie somente os novos nomes.

Essa informação é diferente da que você passou no primeiro post. Veja abaixo.

 

15 horas atrás, André Agni disse:

 ... o nome repetido na lista seja desconsiderado ...

No primeiro post você colocou "nome repetido na lista" e o código foi elaborado com base nessa informação.

 

Para contornar o erro se já houver planilha com nome que conste na lista, substitua a linha abaixo

If Application.CountIf(Sheets("NOME").Range("B2:B" & c.Row), c.Value) = 1 Then

 

por esta abaixo

If Evaluate("ISREF('" & (c.Value) & "'!A1)") = False Then

 

Postado
5 minutos atrás, osvaldomp disse:

 

 

 

Para contornar o erro se já houver planilha com nome que conste na lista, substitua a linha abaixo


If Application.CountIf(Sheets("NOME").Range("B2:B" & c.Row), c.Value) = 1 Then

 

por esta abaixo


If Evaluate("ISREF('" & (c.Value) & "'!A1)") = False Then

 

Amigo funcionou perfeitamente, muito obrigado

  • Membro VIP
Postado

@André Agni

 

Você se esqueceu de clicar em Curtir nas respostas do Osvaldo e de marcar o tópico como Resolvido.

Na minha assinatura tem um link para instrução de como marcar o tópico como Resolvido.

 

[]s

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!