Excel - Ayuda Macro

 
Vista:

Ayuda Macro

Publicado por Carlos Jaramillo (2 intervenciones) el 18/07/2017 18:55:56
Buenas tardes

Alguien me puede ayudar con esta Macro, está diseñada para que me quite espacios en blando y sólo deba seleccionar la primer celda, selecciona todas las celtas hacia abajo, pero si hay un espacio en blando se detiene y algunas veces las personas que la utilizan seleccionan toda la columna y sale un error.

1
2
3
4
5
6
7
8
9
10
11
12
Sub Quita_espacion_inicio_final()
 
Dim cell As Range
 
Range(Selection, Selection.End(xlDown)).Select
 
For Each cell In Selection
   cell.Value = WorksheetFunction.Trim(cell)
   If Asc(Right(cell, 1)) = 160 Then cell = Left(cell, Len(cell) - 1) 'espacios rebeldes
Next cell
 
End Sub


Es posible que no se detenga en un espacio y que no salga el error cuando selecciona toda la columna. este es el error: Error 5 argumento o llamada a procedimiento no válida.

de antemano mil gracias por su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rafael

Ayuda Macro

Publicado por Rafael (29 intervenciones) el 18/07/2017 23:01:12
Buenas Carlos,

Para evitar los errores debes depurar más la macro, yo te pongo dos cositas que te pueden solucionar el problema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Quita_espacion_inicio_final()
 
On Error Resume Next 'Salta los errores y continua
Dim cell As Range
 
Range("A1").Select 'Evitas que alguien seleccione o no la columna así siempre empieza desde una celda que tu quieras
Range(Selection, Selection.End(xlDown)).Select
 
For Each cell In Selection
cell.Value = WorksheetFunction.Trim(cell)
If Asc(Right(cell, 1)) = 160 Then cell = Left(cell, Len(cell) - 1) 'espacios rebeldes
Next cell
 
End Sub

Con esto debería salirte bien. El principal problema del error es que si no encuentra un espacio en la celda dará error, puedes evitarlo con el On Error Resume Next o bien desarrollando más tu código con algunos IF de por medio.

Un saludo.
Rafa
http://officepostit.es
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar