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.
Por Domingsp
Posts
#68306
Olá, na planilha anexada gostaria de ordenar os números de C a K segundo os algarismos das unidades, os algarismos mais à direita. Na faixa de M a U estão os números ordenados como preciso.
Desde já, obrigado.
EXEMPLO.xlsm
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#68308
Olá, @Domingsp .

Experimente:
Código: Selecionar todos
Sub OrdenaNúmeros()
 Application.ScreenUpdating = False
 [C3:K3] = "=RIGHT(C2,1)"
 [C4:K4] = "=MID(C2,2,1)"
 [C3:K4].Value = [C3:K4].Value
 With ActiveSheet
  .Sort.SortFields.Add2 Key:=Range("C3:K3")
  .Sort.SortFields.Add2 Key:=Range("C4:K4")
   With .Sort
    .SetRange Range("C2:K4")
    .Orientation = xlLeftToRight
    .Apply
   End With
 End With
 [C3:K4] = ""
End Sub
Domingsp agradeceu por isso
Por Domingsp
Posts
#68312
osvaldomp, obrigado por ajudar. Mas:
1) conforme o exemplo, a macro deveria apresentar o resultado na faixa a partir de M2:U2. Com o seu código o resultado está saindo em C3;
2) o resultado deve conter os números inteiros. Seu código está apresentando somente as unidades;
3) a macro esta apresentando erro de tempo de execução na linha:
.Sort.SortFields.Add2 Key:=Range("C3:K3")

Anexei o arquivo Exemplo com um botão de acionamento.
EXEMPLO.xlsm
Você não está autorizado a ver ou baixar esse anexo.
Por osvaldomp
#68315
Domingsp escreveu: 15 Dez 2021 às 11:51 1) conforme o exemplo, a macro deveria apresentar o resultado na faixa a partir de M2:U2.
Não procede. Você escreveu no post anterior "Na faixa de M a U estão os números ordenados como preciso. "
O termo "como" indica modo, não indica lugar. Assim, o que você escreveu indica a forma, o modo que você quer os números após a ordenação.
Para indicar também o lugar deveria escrever ~~~> "em M2:U2 como e onde desejo o resultado."

Com o seu código o resultado está saindo em C3;
Sim, se não for indicado o lugar é porque o resultado será no próprio local em que estão os dados.

2) o resultado deve conter os números inteiros. Seu código está apresentando somente as unidades;
Não procede. Se o código travou a execução, como você relatou, possivelmente você erradamente interpretou que C3:K4 continha o resultado final. O código utiliza o intervalo C3:K4 como intervalo auxiliar, que ao final é deletado.

3) a macro esta apresentando erro de tempo de execução na linha:
.Sort.SortFields.Add2 Key:=Range("C3:K3")
Não consegui reproduzir aqui o erro. Abri o seu arquivo, rodei o código que você instalou e foi de boa.
#
O código abaixo irá colocar o resultado em M2:U2.
Código: Selecionar todos
Private Sub CommandButton1_Click()
 Application.ScreenUpdating = False
 [C2:K2].Copy [M2]
 [M3:U3] = "=RIGHT(M2,1)"
 [M4:U4] = "=MID(M2,2,1)"
 [M3:U4].Value = [M3:U4].Value
 With ActiveSheet
  .Sort.SortFields.Add2 Key:=Range("M3:U3")
  .Sort.SortFields.Add2 Key:=Range("M4:U4")
   With .Sort
    .SetRange Range("M2:U4")
    .Orientation = xlLeftToRight
    .Apply
   End With
 End With
 [M3:U4] = ""
End Sub



Por Domingsp
Posts
#68317
Continua não resolvido. Eu preciso dos números ordenados pelas unidades. E inteiros, conforme está exemplificado no arquivo do primeiro post.
O erro de execução permanece. Não alterei uma letra do código, apenas o coloquei na Private Sub do botão.
Postei os prints de como aparece aqui. De toda forma, obrigado pela atenção e desculpe algum transtorno.

Imagem
Imagem
Imagem
Imagem
Por osvaldomp
#68318
Qual é a versão do seu Excel?

Pesquisando aqui, o método Add2 foi introduzido a partir da versão 2016.

Se a sua versão for anterior, então tente após excluir o número 2.

Nas duas ocorrências altere de Add2 para Add.
Domingsp 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