Ir ao conteúdo
  • Cadastre-se

Editando Macro no EXCEL criando laço de repetição no VB


camilagrebinski

Posts recomendados

Olá, Criei uma macro no Excel para ordenar linhas em uma tabela de dados.

Eis o Código criado pela macro:

Sub ordenahorizontal()
'
' ordenahorizontal Macro
'
' Atalho do teclado: Ctrl+o

[B] Rows("1 : 1").Select[/B]
ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Clear

ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Add Key:=Range[B]("A1:AD1")[/B], _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Plan1").Sort
[B] .SetRange Range("A1:AD1")[/B]
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With

End Sub

**********************

Como podem ver, a macro só funciona para a linha 1 da tabela. Então pensei em criar um laço de repetição, e colocar uma variável onde tivesse o valor 1 no código original. Chamei a variável que vai incrementando de Numero

Sub ordenahorizontal()
'
' ordenahorizontal Macro
'
' Atalho do teclado: Ctrl+o
[B]Dim Numero As Integer
For Numero = 1 To 250[/B]


[B] Rows("Numero : Numero").Select[/B]
ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Clear

ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Add Key:=Range[B]("ANumero:ADNumero")[/B], _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Plan1").Sort
[B] .SetRange Range("ANumero:ADNumero")[/B]
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
[B] Next Numero[/B]
End Sub

**************************

A principio parece tudo lógico mas por que não funciona? O que está errado??

OBRIGADA!!!!

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...