Ordenar rango indeterminado

03/12/2009 - 18:14 por Belinda | Informe spam
Buenas otra vez...

No reirse por mis nulos conociimientos de programación, pero
brujulenado por aqui he hecho cosas cojonudas que ni yo mismo se como
he llegado a hacerlas...Ahora tengo el problema de ordenar un rango
que no se donde acaba (esta es una cruz para mi) y ni corto ni peresso
cojo este código y lo endiño en el módulo...

Sub Ordenar_2()
Dim Rng As Range
With ActiveSheet
Set Rng = .Range(.Cells(2, "A"), .Cells(.Rows.Count, "A").End
(xlUp))

Rng.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range( _
"D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase _
:=False, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
End With
Range("A2").Select
End Sub

..pero no cuela ¿Me podéis por favor decir como tengo que hacerlo?

Preguntas similare

Leer las respuestas

#1 pepe
03/12/2009 - 19:13 | Informe spam
Espero que no trabajes en una central nuclear, ni en un hospital, ni en
ningún trabajo delicado. La osadía no es una virtud, es un DEFECTO.



"Belinda" escribió en el mensaje de noticias
news:
Buenas otra vez...

No reirse por mis nulos conociimientos de programación, pero
brujulenado por aqui he hecho cosas cojonudas que ni yo mismo se como
he llegado a hacerlas...Ahora tengo el problema de ordenar un rango
que no se donde acaba (esta es una cruz para mi) y ni corto ni peresso
cojo este código y lo endiño en el módulo...

Sub Ordenar_2()
Dim Rng As Range
With ActiveSheet
Set Rng = .Range(.Cells(2, "A"), .Cells(.Rows.Count, "A").End
(xlUp))

Rng.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range( _
"D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase _
:=False, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
End With
Range("A2").Select
End Sub

..pero no cuela ¿Me podéis por favor decir como tengo que hacerlo?
Respuesta Responder a este mensaje
#2 Lucas Labrador
03/12/2009 - 19:37 | Informe spam
a
"pepe" escribió en el mensaje
news:
Espero que no trabajes en una central nuclear, ni en un hospital, ni en
ningún trabajo delicado. La osadía no es una virtud, es un DEFECTO.



"Belinda" escribió en el mensaje de noticias
news:
Buenas otra vez...

No reirse por mis nulos conociimientos de programación, pero
brujulenado por aqui he hecho cosas cojonudas que ni yo mismo se como
he llegado a hacerlas...Ahora tengo el problema de ordenar un rango
que no se donde acaba (esta es una cruz para mi) y ni corto ni peresso
cojo este código y lo endiño en el módulo...

Sub Ordenar_2()
Dim Rng As Range
With ActiveSheet
Set Rng = .Range(.Cells(2, "A"), .Cells(.Rows.Count, "A").End
(xlUp))

Rng.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range( _
"D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase _
:=False, Orientation:=xlTopToBottom,
DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
End With
Range("A2").Select
End Sub

..pero no cuela ¿Me podéis por favor decir como tengo que hacerlo?
Respuesta Responder a este mensaje
#3 Héctor Miguel
03/12/2009 - 20:13 | Informe spam
hola, alonso !

... brujulenado por aqui he hecho cosas cojonudas que ni yo mismo se como he llegado a hacerlas...
Ahora tengo el problema de ordenar un rango que no se donde acaba (esta es una cruz para mi)
y ni corto ni peresso cojo este codigo y lo endiño en el modulo...
...pero no cuela Me podeis por favor decir como tengo que hacerlo?



no "cuela" porque estas delimitando el rango para el .Sort a SOLO la columna "A"
(y le "quitas el derecho" de usar las columnas restantes de la region actual) :-((

deja que excel "haga lo suyo", indica solamente la primer celda (excel asumira la region actual)
y de preferencia, tambien indica claramente si tiene titulos o no (p.e.)

Sub Ordenar()
[a2].Sort Key1:=[c2], Order1:=xlAscending, _
Key2:=[d2], Order2:=xlAscending, Header:=xlYes
End Sub

saludos,
hector.

__ el codigo expuesto __
Sub Ordenar_2()
Dim Rng As Range
With ActiveSheet
Set Rng = .Range(.Cells(2, "A"), .Cells(.Rows.Count, "A").End(xlUp))
Rng.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range( _
"D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _
:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
DataOption2:=xlSortNormal
End With
Range("A2").Select
End Sub
Respuesta Responder a este mensaje
#4 Belinda
04/12/2009 - 10:03 | Informe spam
On 3 dic, 20:13, "Héctor Miguel"
wrote:
hola, alonso !

> ... brujulenado por aqui he hecho cosas cojonudas que ni yo mismo se como he llegado a hacerlas...
> Ahora tengo el problema de ordenar un rango que no se donde acaba (esta es una cruz para mi)
> y ni corto ni peresso cojo este codigo y lo endiño en el modulo...
> ...pero no cuela Me podeis por favor decir como tengo que hacerlo?

no "cuela" porque estas delimitando el rango para el .Sort a SOLO la columna "A"
(y le "quitas el derecho" de usar las columnas restantes de la region actual)    :-((

deja que excel "haga lo suyo", indica solamente la primer celda (excel asumira la region actual)
y de preferencia, tambien indica claramente si tiene titulos o no (p.e.)

Sub Ordenar()
  [a2].Sort Key1:=[c2], Order1:=xlAscending, _
    Key2:=[d2], Order2:=xlAscending, Header:=xlYes
End Sub

saludos,
hector.

__ el codigo expuesto __
Sub Ordenar_2()
 Dim Rng As Range
 With ActiveSheet
        Set Rng = .Range(.Cells(2, "A"), .Cells(.Rows.Count, "A").End(xlUp))
Rng.Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range( _
        "D2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _
        :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, _
        DataOption2:=xlSortNormal
        End With
    Range("A2").Select
End Sub



...gracias Héctor, estupendo...
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida