Página 1 de 1

trocar nome da planilha

Enviado: 02 Nov 2020 às 10:13
por andriessen
Bom dia!
Nao entendi a logica ainda e me atrapalho com isso.

quero trocar

ActiveWorkbook.Worksheets("Tabelas_Pessoal ").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelas_Pessoal ").Sort.SortFields.Add2 Key:=Range _
("A2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Tabelas_Pessoal ").Sort



O nome Tabelas_Pessoal é o nome que dei para a planilha mas quero que chame como esta la na arvore do VBA Planilha2(Tabelas_Pessoal) ou seja, quero usar Planilha2 para caso alguém troque o nome da planilha a macro não sofra alterações.

Grato,

Re: trocar nome da planilha

Enviado: 02 Nov 2020 às 10:31
por osvaldomp
Em todas as ocorrências no código substitua
ActiveWorkbook.Worksheets("Tabelas_Pessoal ")

por
Planilha2

Re: trocar nome da planilha

Enviado: 02 Nov 2020 às 10:40
por andriessen
ActiveWorkbook.Worksheets("Planilha2 ") Assim? Simples assim?
ActiveWorkbook.Worksheets("Planilha2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Planilha2").Sort.SortFields.Add2 Key:=Range _
("A2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Planilha2 ").Sort

Ficaria assim.

Re: trocar nome da planilha

Enviado: 02 Nov 2020 às 10:46
por osvaldomp
O trecho que você postou deve ficar conforme abaixo.

Planilha2.Sort.SortFields.Clear
Planilha2.Sort.SortFields.Add2 Key:=Range _
("A2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With Planilha2.Sort

Re: trocar nome da planilha

Enviado: 02 Nov 2020 às 11:40
por Strogonoff
Para não ter esse tipo de problema eu declaro a planilha como variável
Dim Ws as worksheet
set Ws = ( o nome que quiser)
e o codigo
Ws.Sort.SortFields.Clear
Ws.Sort.SortFields.Add2 Key:=Range _
("A2"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With Ws.Sort

Outro detalhe.
Procura o nome da planilha que está antes do parentes (Plan1 ou Planilha1)na tela do VBA e não o que está entre parentes na tela da macro, pois assim, mesmo que a pessoa mude o nome na aba, seu código está vinculado a planilha.
o que facilita até mesmo para declarar, pois você não precisará declarar : Set Ws = Sheets(" nome da planilha"), e sim Set Ws= Planilha1 ou Set Ws = Plan1.
As informações acima estão corretíssimas, só procurei complementar as informações dadas.
Abraço