Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

sagostinho

código vba

Mensagens Recomendadas

sagostinho

olá se alguem me pudesse ajudar  neste trabalho eu tenho um livro em excel 2003 que tem 50 folhas e o que eu queria fazer era o seguinte a folha matriz que é a primeira tem 50 códigos desde a1 até a50 e eu queria fazer com que a folha1 mudasse o nome com o que estava na folha matriz na célula a1. a folha 2 mudasse o nome com o que estava na folha matriz na celulla a2 e assim sucessivamente não sei se me estou a fazer entender se me pudessem ajudar agradecia muito mas mesmo muito.obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rogi_cps

meu amigo.. tenta ae... 

activesheet.name="a1"

no lugar de "A1", pod eusar a formulação de Range para poder usar arrays ou simples verificação. 

activesheet.name=
'para range de células
activesheet.range(cells(x,y), cells(w,z)).value

'para célula única
activesheet.name=activesheet.cells(x,y).value

X,Y,W,Z são variáveis que representam , linha , coluna nesta ordem.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
sagostinho
:thumbsup: obrigada mas eu não percebo quase nada de vba eu coloquei o código que pusseste e não deu nada devo ter feito mal alguma coisa porque as folhas não estao a ir buscar o nome igual ao que esta nas celulas correspondentes se pudesses por o código completo para eu colar la agradecia-te imenso isto é para um trabalho. obrigada

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rogi_cps

você teria que criar uma forma de que, quando vc clica na planilha dois, ele busque na célual A2.

Caso queira me envia a planilha ou coloca em um site de up para poder baixar.. eu dou uma olhada no seu arquivo e vejo como adaptar o código para vc... sem problemas.

Valeu!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
rogi_cps

Acrescenta este código na plan1 (matriz)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo ErrSel

Dim Y
Dim ValorCel As String
Dim ValorPlan

Y = 1

Do While Y < 1000
ValorCel = ActiveSheet.Cells(1, Y).Value
ValorPlan = Worksheets(Y + 1).Name
If ValorCel <> ValorPlan Then
    Worksheets(Y + 1).Name = ActiveSheet.Cells(1, Y).Value
    Exit Do
ElseIf ActiveSheet.Cells(1, Y).Value = "" Then
    Exit Do
Else
    Y = Y + 1
End If

Loop

ErrSel:

End Sub

Espero que isso tenha ajudado.  Qualquer coisa que precisar... e só falar!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.