none
Criar nova planilha com nome de célula RRS feed

  • Pergunta

  • Pessoal, gostaria de criar uma nova planilha que é uma cópia de uma já existente e renomear esta nova com o valor que está na célula a1 da planilha antiga...

    Dim novaplan As string

    Sheets("PlanReferencia").Copy Before:=Sheets(1)

    novaplan = Range('"A1").Value

    Não sei como fazer, tive esta idéia mas não sei continuar. Poderiam me ajudar? 

    Obrigado!

    quinta-feira, 30 de janeiro de 2014 18:27

Respostas

  • Sub fMain()
      ThisWorkbook.Worksheets("Plan1").Copy _
      Before:=ThisWorkbook.Sheets(1)
      ActiveSheet.Name = Range("A1")
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta Mmbr quinta-feira, 30 de janeiro de 2014 23:32
    quinta-feira, 30 de janeiro de 2014 22:22
    Moderador

Todas as Respostas

  • Sub fMain()
      ThisWorkbook.Worksheets("Plan1").Copy _
      Before:=ThisWorkbook.Sheets(1)
      ActiveSheet.Name = Range("A1")
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta Mmbr quinta-feira, 30 de janeiro de 2014 23:32
    quinta-feira, 30 de janeiro de 2014 22:22
    Moderador
  • Ótimo.. só mais uma coisa...
    Gostaria que se o nome da planilha for ("exemplo"), a macro não executasse as linhas do programa, fosse para a última linha e uma Msgbox"não pode executar para esta plan"   aparecesse, mas sem que a macro rodasse..

    Algo como

    If ActiveSheet.Name = ("exemplo") Then MsgBox "Não é possível executar para esta plan"

    Else:
    ActiveSheet.Name != ("exemplo") Then

    {

    (.....RODA O PROGRAMA POIS NãO É A PLANILHA EXEMPLO....)

    }

    End if

    (...SE FOR A PLAN EXEMPLO JA VEM PRO FINAL...)

    End Sub


     
    quinta-feira, 30 de janeiro de 2014 23:03
  • If ActiveSheet.Name = "exemplo" Then
      MsgBox "Não é possível executar para esta plan"
    Else
      '...
    End if
    Isso?

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quinta-feira, 30 de janeiro de 2014 23:14
    Moderador
  • Sim! Obrigado! 

    Pq será que não estava indo a que eu fiz? 

    Está errado dessa forma abaixo?

    Else:
    ActiveSheet.Name != ("exemplo") Then

    quinta-feira, 30 de janeiro de 2014 23:28
  • Ao inserir um código no fórum, utilize blocos de código. Para utilizar essa ferramenta, clique no botão cuja legenda é “Inserir bloco de código” na barra do editor de mensagens do fórum. Uma janela aparecerá onde você deverá colar seu código cru na caixa de texto à esquerda. Então, selecione a opção Vb.Net na caixa de combinação que você verá em cima à esquerda e depois clique no botão Inserir.

    ---

    A sintaxe do VBA é diferente da do C#, mas igual a do VB.NET.

    Não existe, por exemplo, o operador lógido !=



    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 31 de janeiro de 2014 00:12
    Moderador