Cambiar el texto predeterminado de una celda - BUSCARV

Tengo un formato para mantenimiento de equipo biomedico, quiero saber si es posible hacer los siguiente para evitar escribir tanto ya que la cantidad es grande y es muy dispendioso.

Con el código del equipo celda A4 al digitarlo me carga los datos de EQUIPO, MARCA, SERIE... Con el tipo de equipo que aparece ne la columna B me busca la rutina de mantenimiento de ese equipo y me sale en la columna E,, Esa rutina es generalmente por si no hay alguna anomalía y siempre sera la misma, pero en el caso de que necesite cambiar esa rutina la pueda sobre escribir y la pueda guardar sin problema, y cuando vuelva a escribir otro equipo que no presente anomalía me aparezca nuevamente el texto original predeterminado para no estar escribiendo para cada uno de los equipos que se van revisando..

2 Respuestas

Respuesta
1

Entiendo que tendrás diferentes equipos y cada uno puede tener un texto predeterminado que lo estás ubicando en col G.

Y seguramente tu botón de guardado limpiará todos los campos de la fila 4... incluyendo la celda E4.

Debieras tener un código, que al momento de ingresar un tipo de equipo en B4, te busque el texto predeterminado... o lo dejas o lo sobreescribes.

En el Editor, en el objeto HOJA donde estés trabajando coloca este código:

Private Sub Worksheet_Change(ByVal Target As Range)
'solo se controla el contenido de B4
If Target.Address = "$B$4" Then
    If Target <> "" Then
        'se busca ese equipo en un rango ----- AJUSTAR
        Set busco = Range("G11:G20").Find(Target.Text, LookIn:=xlValues, lookat:=xlWhole)
        If Not busco Is Nothing Then
            'si lo encuentra, devuelve en E4 el texto de la derecha 
            [E4] = busco.Offset(0, 1).Text
        Else
            [E4] = ""
        End If
    End If
End If
End Sub

Si esto es correcto ajusta en la macro el rango auxiliar. También podrías utilizar un nombre de rango para poder cambiar la dimensión de la col G sin necesidad de modificar la macro. En videos 41 y 42 de mi canal comento el tema 'Administrador de nombres'.

Hola Elsa, no había podido ver tu respuesta, el me funciona pero cuando escribo escribo el equipo directamente en B4... Pero en A4 es donde dígito el código del equipo para que me cargue los datos de equipo marca y serie,, es decir debería funcionar cuando digite el código en la celda A4.. ejemplo que el monitor tenga el código 001,, y si en B4 aparece monitor en la celda E4, me cargue los datos de trabajo realizado la descripción que tenga en H11, eso para el caso del monitor y de ahí para abajo si hay un equipo con código 002,, G12 otro equipo me cargue los datos... los datos de código, equipo y marca y serie los capturo desde una tabla que tengo en otra hoja, mediante buscarv.. gracias

Ahora ya está resuelta y ni vale la pena retomar el tema.

Solo intenté dejar una idea de cómo resolverlo luego de que Dante te respondiera de que no había entendido tu consulta. Esto sucedió el día 17/05.

Luego, el 18/05, Dante retomó el tema expresando: Ya tengo una solución.

Muchas veces se nos aclaran las ideas leyendo respuestas de otros, que aunque no sean exactamente aplicables, por falta de referencias más precisas, echan algo de luz.

Por eso creo que la intención de aquel (aquella en este caso ;) que aporta una respuesta intentando aclarar la consulta, también merecería una mínima votación.

Sdos!

Respuesta
5

No entiendo bien qué tienes en la celda E4, por tu descripción tienes una fórmula BuscarV.

¿Cuál es tu idea?

Que la fórmula en E4 permanezca siempre, pero si el equipo "MONITOR", tiene una anomalía, ¿qué quieres hacer?

a) Escribir la anomalía en la celda E4, es decir, borrar la fórmula de E4 y poner un texto

o

b) Escribir la anomalía en la celda (según tu ejemplo) en la celda H11, lo cual modificaría todos los textos de lo tengas como "MONITOR"

o

c) Escribir en la celda I11 la anomalía y que la fórmula en E4 se modifique para buscar en H11 si no tiene anomalía o en la celda I11 se presenta una anomalía.


Estoy utilizando tu ejemplo para entender qué necesitas. Entiendo que las fórmulas son otras y los datos son otros, pero quiero seguir con tu ejemplo.

Gracias,, Exacto. Como tengo muchos equipos para no ponerme a escribir en cada uno, quiero que E4 ya tenga un texto predeterminado. Y si no hay ninguna anomalía me evito el paso de escribir para cada uno de ellos... pero que si me encuentro con un equipo y requiero cambiar la información de E4 lo pueda hacer en caso que que tenga que describir una falla diferente al texto que predeterminado... paso siguiente si dígito otro equipo que no tenga falla me vuelva a aparecer el mismo texto predeterminado. ( En conclusión seria poder cambiar el texto predeterminado E4 in que pierda la fórmula para cuando busque un equipo y no tenga fallas.)

La imagen es de ejemplo para adaptarla a mi formato... yo dígito el código en la celda A4 con ese dato y con un BUSCARV , me carga el equipo, la marca y serie..Con el tipo de equipo en B4, para este caso MONITOR, y también mediante BUSCARV me carga los datos de H11 en la celda E4,, y si no hay novedad con el equipo lo guardo así y listo... Lo que quiero es que si hay una novedad pueda escribir en E4 lo que yo necesite y no se pierda la formula, pero que la próxima búsqueda de otro monitor con otro código que no requiera escribir vuelva y me aparezca el texto predeterminado que esta en H11

Ya tengo una solución. Pero para poner la solución completa, pon aquí la fórmula que tienes en la celda E4.

Esta sería una solución.

Pon el siguiente código en los eventos de tu hoja.

Private Sub Worksheet_Change(ByVal Target As Range)
  'Por Dante Amor
  If Not Intersect(Target, Range("A:A")) Is Nothing Then
    If Target.CountLarge > 1 Then Exit Sub
    Range("E" & Target.Row).Formula = "=VLOOKUP(B4,Datos!G:H,2,0)"
  End If
End Sub

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

Necesitamos actualizar la macro para poner la fórmula que tienes en E4 en esta línea:

Range("E" & Target.Row).Formula = "=VLOOKUP(B4,Datos!G:H,2,0)"


Funciona de la siguiente manera.

Cada vez que escribas el Código en la columna A, en automático la macro pone la fórmula en la columna E en la misma fila.

Por ejemplo, si escribes "R102" en la celda A5, en automático la macro pone la fórmula en la celda E5. De esta manera tendrás el texto predeterminado.

Si necesitas poner algo en la celda E5, entonces simplemente escribe en E5 el texto. No importa que la fórmula se pierda, ya que al escribir un código en E6, la macro pondrá nuevamente la fórmula .

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas