Excel - ejecutar una macro al cambiar el texto de una celda

 
Vista:
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ejecutar una macro al cambiar el texto de una celda

Publicado por celia (437 intervenciones) el 19/06/2020 13:08:09
Hola otra vez.

Tengo 2 hojas, la hoja 1 usa números y funciona bien y la hoja 2 usa letras y no funciona.
Le copié el código de la hoja 1 a la hoja 2 y solo le cambié las 2 líneas que empiezan por Case pero no sé qué está mal.
Gracias como siempre por vuestra ayuda.

Hoja 1:
1
2
3
4
5
6
7
8
9
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If IsNumeric(Target) And Target.Address = "$B$2" Then
        Select Case Target.Value
        Case 1 To 5: SI
        Case 5 To 10: NO
        End Select
    End If
End Sub

Hoja 2:
1
2
3
4
5
6
7
8
9
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If IsNumeric(Target) And Target.Address = "$B$2" Then
        Select Case Target.Value
        Case Is = "D": SI
        Case Is = "P": SI
        End Select
    End If
End Sub
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 celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ejecutar una macro al cambiar el texto de una celda

Publicado por celia (437 intervenciones) el 19/06/2020 23:27:34
Hola RET

Gracias por responder

Ya miré los if de tu enlace pero no entiendo nada ni sé a cuál de los 2 if te refieres porque a mi me suena todo a chino.
Lo que intenté cambiar es IsNumeric por IsText, así por probar algo, porque la celda B2 es de texto y no numérica, pero no entiendo casi nada del código de excel.
También cambié el formato de la celda a número a ver si funcionaba pero no es lo mío excel
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
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ejecutar una macro al cambiar el texto de una celda

Publicado por Antoni Masana (2478 intervenciones) el 20/06/2020 07:26:59
Lo que quiere decir RET es:

En el segundo código tratas letras y pones esto:

1
If IsNumeric(Target) ...

Lo raro sería que funcionase.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ejecutar una macro al cambiar el texto de una celda

Publicado por celia (437 intervenciones) el 20/06/2020 11:10:50
Buenas Antoni.

He buscado la función para textos pero solo encuentro esta y no funciona
if Testrange Target.Address = "$B$2" Then
No doy con la forma correcta de arreglarlo.
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
Imágen de perfil de RET
Val: 77
Ha disminuido su posición en 6 puestos en Excel (en relación al último mes)
Gráfica de Excel

ejecutar una macro al cambiar el texto de una celda

Publicado por RET (28 intervenciones) el 20/06/2020 12:14:09
Celia,

antes de buscar soluciones complicadas, escríbete en un papel, con boli, que es lo que quieres hacer. Si hay una D, que quieres, si hay una P , que quieres, y si lo que hay no es ni D ni P, que quieres.

IMF_RET
https://InformaticaMuyFacil.com
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
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ejecutar una macro al cambiar el texto de una celda

Publicado por celia (437 intervenciones) el 20/06/2020 13:12:22
Si en este caso lo tengo claro porque es lo mismo que hace la hoja 1 pero con letras
Si pongo D o P en B2 en la hoja 2 que se ejecutara la macro SI, que solo te escribe la palabra "SI" en D2
Si yo si me entiendo, el que no me entiende es excel a mi, jeje
Lo que no sé es el código exacto que entiende excel.

Para mi lógica simple sería solo cambiar el If IsNumeric(Target) por If IsText(Target)
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
Imágen de perfil de RET
Val: 77
Ha disminuido su posición en 6 puestos en Excel (en relación al último mes)
Gráfica de Excel

ejecutar una macro al cambiar el texto de una celda

Publicado por RET (28 intervenciones) el 20/06/2020 15:55:02
Y porque necesitas comprobar si es numérico o texto o lo que sea, si solo quieres que sea o D o P?

IMF_RET
https://InformaticaMuyFacil.com
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
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ejecutar una macro al cambiar el texto de una celda

Publicado por celia (437 intervenciones) el 20/06/2020 16:31:38
Si yo solo copié ese código de la hoja 1 sin entender nada, solo veo que hace lo mismo que quería conseguir que hiciera con las letras en la hoja 2. Nada más.
Seguro que se puede hacer con menos líneas de código pero yo no encuentro la forma ni sé que sobra o que falta porque no entiendo el idioma de excel más que a nivel básico básico.
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
Imágen de perfil de celia
Val: 761
Bronce
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ejecutar una macro al cambiar el texto de una celda

Publicado por celia (437 intervenciones) el 20/06/2020 17:11:58
GENIAL RET !!!

Muchas gracias por resolver lo que para mí es un galimatías.
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