Ayuda con macro

23/02/2005 - 00:07 por Citlali | Informe spam
Hola a todos!!

Estoy tratando de hacer una hoja donde la 1 sea un resumen de todas las
siguientes, para lo anterior, he hecho una macro que copie y pegue la hoja 2
(que es como una plantilla de créditos), cada copia de la hoja 2 es un
crédito nuevo. Lo siguiente es que la hoja dos tiene una macro que incorpora
los datos más importantes (nombre, vencimiento, intereses, etc) en la hoja 1
que es el resumen. El problema es que al momento que yo uso la macro que
actualiza los datos de cualquier hoja (digamos 3) en el resumen, en lugar de
poner los datos de ella misma pone los datos de la hoja 2. ¿Alguien me
podría asesorar para que cada hoja nueva insertara sus propios datos en el
resumen y no los de la hoja 2?. Les copio los pasos que tengo:

Sheets("Resumen de crédito").Select
Rows("15:15").Select
Selection.Insert Shift:=xlDown
Range("A15").Select
ActiveCell.FormulaR1C1 = "=+'i SSI'!R[-14]C[2]"
Range("B15").Select
ActiveCell.FormulaR1C1 = "=+'i SSI'!R[-9]C"
Range("C15").Select
ActiveCell.FormulaR1C1 = "=+'i SSI'!R[-5]C[-1]"
Range("D15").Select
ActiveCell.FormulaR1C1 = "=+'i SSI'!R[33]C[2]"
Range("E15").Select
ActiveCell.FormulaR1C1 = "=+'i SSI'!R[33]C[2]"
Range("F15").Select
ActiveCell.FormulaR1C1 = "=+RC[-1]+RC[-2]"
Range("G15").Select
ActiveCell.FormulaR1C1 = "=+RC[-4]-RC[-3]"
Range("H15").Select
ActiveCell.FormulaR1C1 = "=+'i SSI'!R[2]C[-1]"
Range("I14").Select
Selection.Copy
Range("I15").Select
ActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Por favor, si no he sido muy clara en mi explicación no duden en preguntar.
GRACIAS!!!!!
 

Leer las respuestas

#1 Héctor Miguel
23/02/2005 - 08:36 | Informe spam
hola, Citlali !

... hacer una hoja donde la 1 sea un resumen de todas las siguientes
... he hecho una macro que copie y pegue la hoja 2... plantilla de creditos)
... cada copia de la hoja 2 es un credito nuevo.
... la hoja dos tiene una macro que incorpora... nombre, vencimiento, intereses, etc) en la hoja 1
... el problema es que... la macro... de cualquier hoja (digamos 3)
... en el resumen... pone los datos de la hoja 2.
... para que cada hoja nueva insertara sus propios datos en el resumen... copio los pasos que tengo:



1° no estoy seguro de si cuando dices '... hoja 2 tiene una macro ...' te refieres a que 'la macro'...
-> ¿esta en el modulo de codigo de 'esa' hoja?... o en un modulo de codigo 'normal' -??-
2° tampoco estas 'copiando' la macro 'completa' [creo que es solo una fraccion de ella] -??-
3° cuando [por codigo] 'seleccionas' la hoja 1 ["Resumen de credito"] con la primera instruccion que copias...
-> Sheets("Resumen de crédito").Select <-
-> se convierte en la hoja 'activa' y... 'se pierde' cual era la hoja desde la que deseas copiar al resumen :(
4° supongo que 'el nombre' [en su pestaña] de la hoja 2 es: ->i SSI<- -??-
lo estas usando como 'constante' [NO cambia] cada vez que se ejecuta la macro

no estoy seguro de haber 'acertado' a los datos que deseas copiar de cada hoja al resumen :(
[podemos iniciar haciendo pruebas y ya comentaras los cambios que sean requeridos] :))
-> copia la siguiente macro en un modulo de codigo 'normal' y...
-> ejecutala desde la hoja que quieras 'mandar al resumen'

si cualquier duda [o una vez ampliada la informacion]... ¿comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub Copiar_A_Resumen()
Dim Origen, Destino, EstaHoja As String, Rango As Byte
Origen = Array("c1", "b6", "b10", "f48", "g48", "g17")
Destino = Array("a15", "b15", "c15", "d15", "e15", "h15")
EstaHoja = ActiveSheet.Name
With Worksheets("Resumen de crédito")
.Range("a15").EntireRow.Insert
For Rango = LBound(Origen) To UBound(Origen)
.Range(Destino(Rango)).Formula = "='" & EstaHoja & "'!" & Origen(Rango)
Next
.Range("f15").Formula = "Ñ5+e15"
.Range("g15").Formula = "Á5-d15"
.Range("i15").Formula = .Range("i14").Formula
End With
End Sub

Preguntas similares