Saltar al contenido

Error código al introducir letras. Lo hace bien con números


Frip

Recommended Posts

publicado

Hola

Aprovecho para saludar y presentarme en este mi primer post. Llevo siguiéndoos mucho tiempo

y quiero agradeceros toda la ayuda que me váis prestando y todo lo que he aprendido

de vuestros conocimientos.

Por primera vez, después de leer y leer no encuentro la solución a mi problema.

¿Me podríais ayudar con lo siguiente?

Tengo en una hoja en la que quiero que se ejecute el siguiente código

Private Sub Worksheet_Change(ByVal Target As Range)

'Elijo el rango de una columna para que siempre que se introduzca un valor a una celda

vaya a la celda de la misma fila y de la columna A

If Intersect([F2:F1000], Target) Then

'Pongo la instrucción que quiero se ejecute

ActiveCell.Offset(-1, -5).Select

End If

End Sub

No hay ningún problema con números, lo hace perfecto. Pero si introduzco letras me sale este cuadro:

"Se ha producido el error 13 en tiempo de ejecución"

"No coinciden los tipos"

Os adjunto un archivo de ejemplo sólo con este problema.

Os estaría muy agradecido si me dijérais en qué estoy equivocado u otra manera de conseguirlo.

Muchas gracias y un saludo cordial.

Libro1.xls

publicado

Hola:

Prueba con esto a ver que tal:


If Application.Intersect(Target, [F2:F1000]) Is Nothing = False Then

Range("A" & Target.Row).Select

End If


[/CODE]

Saludos

publicado

Muchísimas gracias Antonio.

Funciona perfectamente. Gracias por la rapidez, la precisión y la sencillez.

No doy el tema por cerrado pues ahora al eliminar los datos de una celda de la columna F y enter también ejecuta el código. Antes no lo ejecutaba si la celda se quedaba vacía al dar enter. Como es una de las primeras instrucciones de una cadena voy a ver si puedo ajustar las siguientes con el código que me has dado. Mañana lo veré en el trabajo que en casa no tengo acceso. Si no pudiera ya te contaría.

Gracias de nuevo y un saludo.

publicado

Solo hay que preguntar si la celda está en blanco y listo:




If Application.Intersect(Target, [F2:F1000]) Is Nothing = False Then

[COLOR=#008000]'[I][B]Trim [/B][/I]elimina blancos por la derecha y por la izquierda[/COLOR]
If Not [B]Trim[/B](Target) = "" Then Range("A" & Target.Row).Select

End If


[/CODE]

publicado

Gracias de nuevo Antonio.

No hubiera llegado nunca yo solo. Ya ves que sé poco. Ahora está todo redondo para mí y podré completar un trabajo bastante complejo pero que me fallaba en los primeros pasos.

No te pude contestar ayer porque me afectó el mantenimiento del foro.

El tema está solucionado.

Un abrazo y que te vaya todo bien.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.