Como memorizar la dirección de una celda

Hola amigos, en esta ocasión mi duda es la siguiente:
Quiero dejar momentáneamente una celda para desplazarme a otra hoja, escribir algo en ella y regresar a la celda donde estaba para seguir ejecutando la macro
ejemplo
estoy en la hoja 2 celda r3
voy a la hoja 1 celda e23 y escribo un dato
regreso a la hoja 2 celda r3 y sigo ejecutando la macro
espero puedan ayudarme pues ando atascado en eso y no puedo seguir desarrollando la aplicación que tengo entre manos
desde ya muchas gracias.

1 respuesta

Respuesta
1
Te dejo el siguiente código a ver si es lo que buscas
Public UltimaCelda As String
Public UltimaHoja As String
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Trim(UltimaCelda) = "" Then
        UltimaHoja = Sh.Name
        UltimaCelda = Target.Address
    ElseIf UltimaHoja & "!" & UltimaCelda <> Sh.Name & "!" & Target.Address Then
        Sheets(UltimaHoja).Activate
        Range(UltimaCelda).Select
        UltimaHoja = Sh.Name
        UltimaCelda = Target.Address
    End If
End Sub
Deberás colocarlo en el módulo del objeto ThisWorkbook
Si gustas te envío a tu correo el archivo con el ejemplo.
mi msn es [email protected]
Hola, ante todo gracias por tu ayuda, te agradecería el ejemplo, aunque también seria conveniente por si alguien más viera este post si explicaras un poco las lineas de código para así entender mejor el ejemplo
mi email es (xxxxxx)
Te agradeceré ese ejemplo y tu atención
Nuevamente muchas gracias
Ya te envié el archivo por correo.
A continuación detallo cada línea del código.
Public UltimaCelda As String 'Variable para guardar la última hoja
Public UltimaHoja As String 'Variable para guardar la última celda
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
'Este evento se desencadena cuando cambia una celda
    If Trim(UltimaCelda) = "" Then 
        'Sí la variable Ultima Celda esta vacía entonces almacena los datos nuevos
        UltimaHoja = Sh.Name 'Guadamos el nombre de la hoja
        UltimaCelda = Target.Address 'Guardamos la referencia de la celda
    ElseIf UltimaHoja & "!" & UltimaCelda <> Sh.Name & "!" & Target.Address Then
<span style="white-space: pre;"> 'Sí la variable Ultima Celda </span>tiene datos<span style="white-space: pre;"> entonces </span>nos movemos a la Ultima Celda y luego <span style="white-space: pre;">almacena los datos nuevos</span> 
        Sheets(UltimaHoja).Activate 'Nos movemos a la hoja anterior
        Range(UltimaCelda).Select 'Seleccionamos la ultima celda que cambió
        UltimaHoja = Sh.Name'Guadamos el nombre de la hoja 
        UltimaCelda = Target.Address 'Guardamos la referencia de la celda
    End If 
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas