Necesitamos del evento deactivate, para saber en cuál hoja estuviste.
Si estoy en HOJA1 y voy a LISTADO GRAL necesito que B13 sea igual a A10 de HOJA1
En tu explicación, estabas en HOJA1, luego fuiste a la "LISTADO GRAL", entonces la última hoja fue la HOJA1.
Si no es en automático, tenemos que saber en cuál hoja estuviste.
Lo que se me ocurre es almacenar el nombre de la hoja HOJA1, en LISTADO GRAL, en alguna celda, para saber de cuál hoja vienes, después ejecutar una macro y que lea la celda con el nombre de la última hoja.
Entonces en B12 te voy a poner la última hoja. Pon lo siguiente en los eventos de Thisworkbook
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If LCase(Sh.Name) <> LCase("LISTADO GRAL") Then
valor = Sh.Range("A10").Value
Sheets("LISTADO GRAL").Range("B12").Value = Sh.Name
End If
End Sub
Ahora, pon lo siguiente en un módulo:
Sub ponervalor()
Set h = Sheets("LISTADO GRAL")
If h.Range("B12").Value <> "" Then
On Error Resume Next
h.Range("B13").Value = Sheets(h.Range("B12").Value).Range("A10").Value
End If
End Sub
Ve a la hoja1, regresa a la hoja LISTADO GENERAL , ejecuta la macro ponervalor