Error 13

Hola amigo; siento molestarte otra vez, pero he tropezado con un problemilla que me trae de cabeza. He hecho una macro que en teoría hace lo siguiente: Ordena el rango desde A9 hasta AK según los valores de la columna Y. La última fila del rango coincide con la fila de la última celda escrita de la Columna D.
He creado 2 variables, 1 que nos lee la ultima celda escrita de Columna D y selecciona la fila y otra que lee la ultima celda de D y cuenta 21 celdas más para posicionarse en la columna Y (final del rango por el que se ordena).
En ocasiones no me funciona bien y estoy casi seguro que es porque las celdas tienen fórmulas y si la ultima celda de Y (dentro del rango a ordenar) no tienen valor pero tiene fórmula es cuando me sale el error 13 en tiempo de ejecución. He intentado solucionar esto por mi mismo, pero llevo 3 días y ya no se que más probar... Te pongo el código con la esperanza de que puedas detectar el problema y desde ya te doy las gracias por tu iempo.
Dim ultfilaD As Long
ultfilaD = ActiveSheet.Range("D65536").End(xlUp).Row
Dim ultceldaY As Long
ultceldaY = ActiveSheet.Range("D65536").End(xlUp).Offset(0, 21).
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add(Range("Y10" & ultceldaY), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255, _
255, 0)
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("Y10" & ultceldaY), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range("A9:AK" & ultfilaD)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("Y10").Select
End Sub
P.D. Me gustaría que me enviaras un email con tu dirección postal, te quiero enviar un detalle porque llevas meses añudandome de forma totalmente altruista y no se como agradecerte. Había pensado en un detalle con motivo de la navidad, por favor enviame tu dirección, si te parece bien. Gracias.

1 respuesta

Respuesta
1
Envíame tu archivo para corregirlo.
[email protected]
Ya te lo envíe. Ya me dirás, cuando puedas. Gracias.
Ya contestada por correo.
Me da un error nuevo, te envíe un correo explicándotelo.
Lo voy a resolver posiblemente esta noche.
[email protected]
Gracias amigo, como era de esperar una solución perfecta y mucho más simple de como yo lo tenia planteado en un principio. Estamos en contacto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas