Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por andriessen
Posts
#60162
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,
Por osvaldomp
#60163
Em todas as ocorrências no código substitua
ActiveWorkbook.Worksheets("Tabelas_Pessoal ")

por
Planilha2
Por andriessen
Posts
#60164
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.
Por osvaldomp
#60165
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
andriessen agradeceu por isso
Avatar do usuário
Por Strogonoff
Posts Avatar
#60166
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
andriessen agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord