Jump to content

como podria resumir este if


Recommended Posts

buenas, estoy tratando de reducir el tamaño del siguiente código

If InStr(1, c, "Out") Or InStr(1, c, "out") Then c.Value = "NS" Else c.Value = c.Value
        If InStr(1, c.Offset(0, 1), "Out") Or InStr(1, c.Offset(0, 1), "out") Then c.Offset(0, 1).Value = "NS" Else c.Offset(0, 1).Value = c.Offset(0, 1).Value
        If InStr(1, c.Offset(0, 2), "Out") Or InStr(1, c.Offset(0, 2), "out") Then c.Offset(0, 2).Value = "NS" Else c.Offset(0, 2).Value = c.Offset(0, 2).Value
        If InStr(1, c.Offset(0, 3), "Out") Or InStr(1, c.Offset(0, 3), "out") Then c.Offset(0, 3).Value = "NS" Else c.Offset(0, 3).Value = c.Offset(0, 3).Value

básicamente es reemplazar texto de una celda y hacer lo mismo en las 3 siguientes a la derecha, pero no se como poder juntar todo en una sola linea de código

 

 

por otra parte estoy tratando de hacer algo similar con replace

c.Replace What:="Hola", Replacement:="Adios"

pero me pasa que, cuando la celda no contiene el texto "Hola" excel me arroja un error que dice lo siguiente:

Cita

no hemos encontrado nada que reemplazar

nota: es posible que los datos que intentas cambiar se encuentren en una hoja protegida. excel no puede cambiar datos de hojas protegidas

 

espero que se entienda lo que trato de hacer

 

desde ya agradezco su ayuda

 

saludos!

Link to comment
Share on other sites

Como dice el bueno de Haplox, "Está claro que no está claro".

Te dejo lo del If con lo que he entendido:

For y = 0 To 3
   Select Case True
      Case InStr(1, LCase(c.Offset(0, y)), "out"): c.Offset(0, y) = "NS"
   End Select
Next

 

Link to comment
Share on other sites

En 21/1/2021 at 14:49 , Antoni dijo:

Como dice el bueno de Haplox, "Está claro que no está claro".

Te dejo lo del If con lo que he entendido:


For y = 0 To 3
   Select Case True
      Case InStr(1, LCase(c.Offset(0, y)), "out"): c.Offset(0, y) = "NS"
   End Select
Next

 

disculpen, me exprese mal, pero la respuesta de antoni sirvió a la perfección, muchas gracias es un genio

 

otra consulta, por ejemplo, en el for, si fuera de 0 a 100 el valor de y, como podría ingresar algo para que se me guarde la hoja cuando y valga 50, y luego al finalizar (con 100)

 

muchas gracias de nuevo

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

Privacy Policy