Referenciar una celda

08/09/2007 - 19:38 por Ramon | Informe spam
Hola
Casi no se nada de Excel y no se si lo que quiero se puede hacer, ya me
direis

Quiero que una celda adquiera el valor de la misma celda de la hoja anterior
y de la fila inferior, pero referenciarla de forma relativa, de forma que si
copio la hoja en otra nueva siga haciendo lo mismo, por ejemplo , la celda
C4 de la hoja actual adquiere el valor de la celda C5 de la hoja anterior
No se si me he explicado bien
Gracias
Ramon
 

Leer las respuestas

#1 Héctor Miguel
08/09/2007 - 23:52 | Informe spam
hola, Ramon !

Mostrar la cita
puedes definir una funcion personalizada mediante vba en un modulo de codigo estandar/general/normal/... [p.e.]
a) inicia el editor de vba: atajo de teclado = {Alt}+{F11}
b) inserta un modulo: [menu] insertar / modulo
c) copia/pega las siguientes instrucciones en la ventana del modulo recien creado [Modulo1]

Function DeLaHojaAnterior()
Application.Volatile True
With Application.Caller
DeLaHojaAnterior = _
.Parent.Parent.Worksheets(.Parent.Index - 1) _
.Range(.Address).Offset(1)
End With
End Function

en la celda 'C4' de la hoja_X [NO en la primera del libro] usas la funcion como las *integradas* [p.e.] =DeLaHojaAnterior()
y te devolvera el contenido de la celda 'C5' de la hoja anterior [por indice en el libro] AUN si se encuentra *oculta*

notas: no tiene prevencion/correccion/... de -posibles- errores [p.e. si la usas en la primer hoja... no hay *hoja anterior*]
al usarla en celdas, el *Application.Caller* pasa a ser el objeto celda desde la que se llama a la funcion
el *.Parent* de una celda es un objeto hoja y [a su vez] el *.Parent* de un objeto hoja es un objeto libro
la funcion esta *preparada* para devolver exclusivamente la celda *siguiente* [hoja anterior] de la celda *llamadora*
y podrias agregar argumentos para la hoja anterior/siguiente/n_? y la referencia fila/columna +/- etc. etc. etc.
y... espero que no pienses *abusar* con el uso de funciones personalizadas de este tipo :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Preguntas similares