Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
sagostinho

código vba

Recommended Posts

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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other 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!

Share this post


Link to post
Share on other sites
sagostinho

:cheesygrin: obrigada isto vai me poupar imenso tempo lá no trabalho :) muitoooooooooo obrigada :) funciona espectacular

Share this post


Link to post
Share on other sites
rogi_cps

fico feliz por ter dado certo!

Sempre que precisar... disponha....!!!

Flw

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.