Movimientos del mouse sobre celda con eventos en dos columnas

Espero te encuentres bien

Vuelvo sobre este tema con las disculpas por mi recurrencia

Vi como me enseñaste el método para poner en un Label (Fec. IMPO: _) un dato, con solo pasar con el mouse sobre una celda a lo largo de un la columna F (y funciono perfecto)

Quisiera repetir el mismo efecto en las celdas de la Columna H con la diferencia que en ellas no habrá una sola fórmula sino, según sea el origen de la devolución, 3 distintas.

Todo el proceso que se produce en la columna F responde a tu explicación oportunamente:

..."En la hoja "INFORME"

  1. En una celda que tengas disponible. En mi ejemplo voy a utilizar la celda Z1, selecciona la celda Z1 y en el cuadro de nombre escribe la palabra "seleccion".
  2. Crea un Label1 de Control ActiveX. Y lo pones en las celdas F2 a H2
  3. En la celda F7 pon la siguiente fórmula y la copias hacia abajo.

=SI.ERROR(HIPERVINCULO(MiEvento($Z7));SI.ERROR(SI(B7="";"";BUSCARV(B7;STOCK!$BS$2:$CV$2800;7;0));""))

  1. Selecciona las celda F7 a F250, crea un formato condicional, en la fórmula pones la siguiente:

=FILA($Z7)=seleccion

  1. Selecciona el color amarillo en el formato condicional.
  2. Pon la siguiente macro en un módulo:

Public Function MiEvento(rngCelda As Range)

  Range("seleccion").Value = rngCelda.Row

  ActiveSheet.Label1.Caption = "Fec IMPO: " & Format(WorksheetFunction.VLookup(Range("B" & rngCelda.Row), Range("STOCK!A2:O2000"), 15, 0), "dd/mm/yyyy")

End Function

----------------------------------------------------------------------------------------------------------------------------------------------------------------

Intenté replicar esto en la columna H cambiando el evento, la palabra seleccion por otra, y dado que en las celdas de esa columna irán 3 fórmulas distintas que cambiaré mediante un botón en la misma hoja (según sea la zona de donde proviene el equipo devuelto), no tuve suerte!

Las fórmulas que irán en las celdas de la Columna H son:

1) =SI(B7="";"";SI.ERROR(BUSCARV($E$5;'DEVOL E'!$P$5:$DKJ$200;COINCIDIR(B7;'DEVOL E'!$P$4:$DKJ$4;0);VERDADERO);0))

2) =SI(B7="";"";SI.ERROR(BUSCARV($E$5;'DEVOL C'!$P$5:$DKJ$200;COINCIDIR(B7;'DEVOL C'!$P$4:$DKJ$4;0);VERDADERO);0))

3) =SI($V7="";"";SI(BUSCARV($V7;STOCK!$A$2:$CZ$2650;104;FALSO)="";BUSCARV($V7;STOCK!$A$2:$AL$2650;12;FALSO);SI(BUSCARV($V7;STOCK!$A$2:$CZ$2650;104;FALSO)<>"";BUSCARV($V7;STOCK!$A$2:$AL$2650;12;FALSO)+BUSCARV($V7;STOCK!$A$2:$CZ$2650;104;FALSO))))

Y la fórmula de búsqueda que iría en el "evento xx" serían 3 también (para los 3 casos):

1) ActiveSheet.Label1.Caption = "  Fec. Devol: " & Format(WorksheetFunction.VLookup(Range("B" & rngCelda.Row), Range("STOCK!A2:BA2000"), 53, 0), "dd/mm/yyyy")

2)  ActiveSheet.Label2.Caption = " Fec. Devol: " & Format(WorksheetFunction.VLookup(Range("B" & rngCelda.Row), Range("STOCK!A2:CF2000"), 84, 0), "dd/mm/yyyy")

3) ActiveSheet.Label1.Caption = "  Fec. Devol: " & Format(WorksheetFunction.VLookup(Range("B" & rngCelda.Row), Range("STOCK!A2:K2000"), 11, 0), "dd/mm/yyyy")

Quizás no sea lo suficientemente clara la explicación pero estoy abierto a aportar todo lo que necesites para comprenderlo y poder ayudarme a entenderlo

Un fuerte abrazo y

Respuesta
2

Me respondo a mi mismo pues, partiendo del ejemplo que ya tengo, era muy sencillo extrapolarlo a otra columna.

Solo había que:

1- Mantener la misma hoja

  1. En otra celda que tengo disponible. En mi ejemplo voy a utilizar la celda AA1, seleccionar la celda AA1 y en el cuadro de nombre escribe la palabra "selecciones".
  2. Crea un Label2 de Control ActiveX. Y ponerlo en las celdas H2 a G2
  3. En la celda H7 poner la fórmula y copiarla hacia abajo.

Aquí era necesario abrir un condicional que contemple, para el mismo Evento1, las 3 posibilidades de retorno del equipo, es decir, si en una celda en particular colocamos retorno 1, se aplica una fórmula con el evento1 y el hipervínculo, si retorno 2, la otra y si retorno 3, la ultima opción

4. Seleccionar las celda H7 a H250, crear un formato condicional, en la fórmula pongo la siguiente:

=FILA($AA7)=selecciones

  1. Seleccioné el color amarillo en el formato condicional.
  2. Puse la siguiente macro en un módulo:

Public Function MiEvento1(rngCelda As Range)

iF Range("A5") = retorno 1 then 

 Range("selecciones").Value = rngCelda.Row

  ActiveSheet.Label1.Caption = "Fec DEVOL: " & Format(WorksheetFunction.VLookup(Range("B" & rngCelda.Row), Range("STOCK!A2:O2000"), 15, 0), "dd/mm/yyyy")

Else    

       iF Range("A5") = retorno 2 then 

 la otra formula

Else

      If Ranhe("A5") = retorno 3 Then

       la ultima formula

End If

End If

End If

End Function

Y listo el tema!

Saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas