Qué le pasa a esta macro?

07/06/2006 - 13:42 por Lamari | Informe spam
Hola otra vez, no sé que le pasa a esta macro que no funciona, es para
ordenar los datos de una lista de proveedores por el campo según quieras,
pero no hace nada.
Gracias anticipadas.

Sub diastart()

Application.ScreenUpdating = False

Set gd = Sheets("Archivo proveedores")
Set dg = DialogSheets("Dialog")
gd.[m8] = 1
gd.[m9] = 1
x = dg.Show
If Not x Then GoTo endedia

Range("b7").Select
s1 = gd.[m8] - 1
s2 = 1
If s1 = 1 Then s2 = 0

If gd.[m9] = 1 Then
sr = xlAscending
Else
sr = xlDescending
End If

Selection.Sort Key1:=ActiveCell.Offset(0, s1).Range("A1"), Order1:= _
sr, Key2:=ActiveCell.Offset(0, s2).Range("A1"), Order2:= _
sr, Header:=xlGuess, OrderCustom:=1, MatchCase:=False _
, Orientation:=xlTopToBottom

Application.Goto Reference:="ex_plage_mise_en_forme"
Application.CutCopyMode = False
Selection.Copy
Application.Goto Reference:="plage_tri"
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("a7").Select
Range("b7").Select
endedia:
End Sub
 

Leer las respuestas

#1 Héctor Miguel
08/06/2006 - 03:03 | Informe spam
hola, Lamari !

... no se que le pasa a esta macro que no funciona
es para ordenar los datos de una lista de proveedores por el campo segun quieras, pero no hace nada.



1) cuando... como... y donde... es que la macro 'no hace nada' ?
-> al cancelar el dialogo de excel5 que se muestra ?
-> no hace el 'sort' ?
-> no hace el copy/paste_formats ?

2) que otros controles tiene la hoja de dialogos y como y a donde le pasas sus datos ?
y donde estan los rangos a que se refiere el codigo ? ["ex_plage_mise_en_forme" y "plage_tri"]

3) estas 'trabajando' con la hoja que se debe 'sortear' como la hoja 'activa' ?
y tienes seleccionado el rango [o alguna celda en el] que -efectivamente- se debe 'sortear' ?

si pudieras comentar detalles mas... 'concretos' :))
saludos,
hector.

__ el codigo expuesto __
Sub diastart()
Application.ScreenUpdating = False
Set gd = Sheets("Archivo proveedores")
Set dg = DialogSheets("Dialog")
gd.[m8] = 1
gd.[m9] = 1
x = dg.Show
If Not x Then GoTo endedia
Range("b7").Select
s1 = gd.[m8] - 1
s2 = 1
If s1 = 1 Then s2 = 0
If gd.[m9] = 1 Then
sr = xlAscending
Else
sr = xlDescending
End If
Selection.Sort Key1:=ActiveCell.Offset(0, s1).Range("A1"), Order1:= _
sr, Key2:=ActiveCell.Offset(0, s2).Range("A1"), Order2:= _
sr, Header:=xlGuess, OrderCustom:=1, MatchCase:=False _
, Orientation:=xlTopToBottom
Application.Goto Reference:="ex_plage_mise_en_forme"
Application.CutCopyMode = False
Selection.Copy
Application.Goto Reference:="plage_tri"
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("a7").Select
Range("b7").Select
endedia:
End Sub

Preguntas similares