Olá a todos,
Alguém saberia dizer como criar um loop que execute uma macro linha a linha?
Trabalho com uma planilha que tem muitas linhas (mais de 1500) com números aleatórios.
Criei uma macro que os coloca em ordem, porém preciso aciona-la manualmente linha após linha. Haveria uma maneira de criar uma rotina que vá descendo e organizando e só parar quando a célula ativa for vazia?
Mando um exemplo em anexo. Para executar a macro eu seleciono a alguma célula da coluna "A" uso o atalho Ctrl+y.
Agradeço desde já a ajuda.
Ps. Essa é a macro que estou usando
Sub Organiza()
'Seleciona um intervalo com numeors desorganizados
'Cola na Plan2 transposto na vertical e organiza do menor para o maior
'Em seguida seleciona os numeros ordenados e transpõe horizontalmente na célula ativada
Application.ScreenUpdating = False
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Sheets("Plan2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Plan2").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Plan2").Sort.SortFields.Add Key:=Range("A1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Plan2").Sort
.SetRange Range("A1:A8")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
Range("A1:A8").Select
Selection.Copy
End With
Sheets("Plan1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ActiveCell.Offset(1, 0).Select
Application.ScreenUpdating = True
End Sub
Postado : 19/09/2013 9:41 am