Celda de la hoja anterior

12/03/2006 - 00:53 por Henrys Deliuk | Informe spam
Hola amigos

como puedo hacer para invocar a una celda de la pagina anterior siempre la
misma
les explico, todas las semanas hago una posicion en una hoja nueva de un
libro y siempre traigo la misma
celda de la pagina anterior, que es el saldo anterior.
cdo copio una hoja nueva lo hago de la ultima y le pongo los nuevos valores,
pero en una celda tengo que poner el saldo de la anterior. las hojas
siempre cambian de nombre, tienen la fecha del dia de la posicion y no es
fijo.

gracias por la futura ayuda

Preguntas similare

Leer las respuestas

#1 Francisco GMAIL
12/03/2006 - 02:00 | Informe spam
Podrias poner tu archivode ejemplo.

Tengo una idea pero no se si este correcto.

Saludos
Respuesta Responder a este mensaje
#2 Francisco GMAIL
12/03/2006 - 06:36 | Informe spam
Señor se lo intente mandar al correo que muestra para responder pero me
indica fallido.

Favor de colocar un mail existente.

Saludos
Respuesta Responder a este mensaje
#3 Francisco GMAIL
12/03/2006 - 06:37 | Informe spam
Anexo codifo necesario, algunas cosas las manejas manual

saludos


Sub Actualizar()

' Macro grabada el 11/03/2006 por Admin

'
****************************************************************************
*******
'Contamos las hojas existentes para futuros usos
N_hojas = Sheets.Count

'
****************************************************************************
*******
' Agregamos hoja al libro y actualizamos la info poniendo en blando la hoja

ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)

'
****************************************************************************
*******
' copiamos la hoja anterior

Sheets(Sheets.Count - 1).Select
Range("A1:L31").Select
Selection.Copy
Sheets(Sheets.Count).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
'
****************************************************************************
*******
'Se prepara la hoja con el formato
Sheets(N_hojas).Select
Cells.Select
Selection.Copy
Sheets(Sheets.Count).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False


'
****************************************************************************
*******
' Preparamos la celda activa con el nuevo valor
Sheets(Sheets.Count - 1).Select
depaso = ActiveCell.Cells(18, 3)
Sheets(Sheets.Count).Select
ActiveCell.Cells(19, 3).Value = depaso
End Sub

'
****************************************************************************
*******
' se pierde el formato con la ultima accion
Respuesta Responder a este mensaje
#4 Héctor Miguel
12/03/2006 - 09:03 | Informe spam
hola, Henrys !

... para invocar a una celda de la pagina anterior siempre la misma les explico,
... hago una posicion en una hoja nueva de un libro y siempre traigo la misma celda de la pagina anterior
... cdo copio una hoja nueva lo hago de la ultima y le pongo los nuevos valores
... en una celda tengo que poner el saldo de la anterior.
... las hojas siempre cambian de nombre, tienen la fecha del dia de la posicion y no es fijo.



no se si he entendido 'cabalmente' tu requerimiento :-( [pero]...
suponiendo que necesitas 'traer' valores en celdas/rangos/... de la hoja que se encuentra 'antes' de la activa...
[p.e. asumiendo que las hojas estan 'ordenadas' y se llaman hoja1, hoja2, hoja3, etc.]
y necesitas en la hoja3 un dato de la hoja2 [SIN especificar 'explicitamente' -> hoja2 por si la cambias de posicion]...
necesitaras de una funcion 'personalizada' +/- como la que te expongo al final

su 'forma de uso' es como las funciones 'integradas' del excel [es decir]...
suponiendo que necesitas 'sumar' el rango 'A6:A9' de la hoja 'anterior', usas... -> =suma(HojaPrevia(a3:a9))
suponiendo que necesitas 'traer' en A1 el contenido de la misma celda [A1] pero de la hoja 'anterior', usas... -> =HojaPrevia()

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

en un modulo de codigo 'normal' ==Function HojaPrevia(Optional Referencia As Range)
Dim Hoja As Byte
If Referencia Is Nothing Then Set Referencia = Application.Caller
Hoja = Referencia.Parent.Index
If Hoja > 1 _
Then Set HojaPrevia = Worksheets(Hoja - 1).Range(Referencia.Address) _
Else HojaPrevia = CVErr(xlErrRef)
End Function

comentarios 'adicionales':
1) si la funcion 'se llama' EN la primera hoja de calculo del libro... devuelve el valor de error #¡REF!
2) si se omite el argumento 'Referencia'... devuelve 'la misma celda' [donde se usa] de la hoja 'anterior'
Respuesta Responder a este mensaje
#5 Francisco GMAIL
12/03/2006 - 18:22 | Informe spam
Comenta si funciona lo mencionado.

saludos
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida