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!!!!!

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Citlali
23/02/2005 - 20:52 | Informe spam
Hola Héctor Miguel!!

Copié la macro que me mandaste y me funcionó de maravilla, realmente me has
hecho un gran favor. Todas tus suposiciones eran correctas :) y al momento
de ejecutarla hizo exactamente lo que quería.

Te agradezco mucho la ayuda, :)

Saludos,

Citlali

"Héctor Miguel" escribió en el mensaje
news:#
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


<- -??-
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


Respuesta Responder a este mensaje
#3 Héctor Miguel
23/02/2005 - 22:28 | Informe spam
hola, Citlali !

... la macro... funciono ... hizo... lo que queria.



- 'me tranquiliza' el haber acertado :)
- me da gusto haberte podido ayudar :))
- y... gracias a ti [por el 'feed-back'] ;)

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida