Copiar celda fija con valores cambiantes a varias hojas en excel

Espero que me puedan ayudar.
Tengo esto en excel en archivo1:
A B C
1 1234 2 =A1*B1/A$5
2
3
4
5 =SUMA(A1:A4) =SUMA(B1:B4) =SUMA (C1:C4)
En otro archivo tengo varias hojas, en cada hoja debo poner el valor de C5, de manera consecutiva; ejemplo:
En hoja llamada prueba1 tengo:
A
1 ='[archivo1.xlsx]Hoja1'!$C$5
En hoja llamada prueba2 tengo:
A
1 ='[archivo1.xlsx]Hoja1'!$C$5
En hoja llamada prueba3 tengo:
A
1 ='[archivo1.xlsx]Hoja1'!$C$5
El problema es que cuando modifico archivo1, me modifica la cantidad en todas las hojas y no solo en la hoja actual.
Ejemplo:
Tengo esto en excel en archivo1:
A B C
1 1234 2 2
2
3
4
5 1234 2 2
Lo cual pongo en prueba1:
A
1 2
Introduzco valores y se modifica archivo1
A B C
1 1234 2 0.36
2 5678 6 4.93
3
4
5 6912 5 5.29
Entonces tengo que ponerlo en prueba2
A
1 5.29
Y asi sucesivamente en mis respectivas hojas de prueba3, prueba4... Etc.
Introduzco valores y se modifica archivo1
A B C
1 1234 2 0.15
2 5678 6 2.13
3 9101 9 5.12
4
5 6912 5 7.40
Entonces tengo que ponerlo en prueba3
A
1 7.40
Y asi con todas mis hojas.
El problema es que cuando se modifica el archivo1 en C5 se modifica el valor en todas mis hojas de prueba1, prueba2, prueba3, prueba4.
Ejemplo:
Archivo1
A B C
1 1234 2 0.15
2 5678 6 2.13
3 9101 9 5.12
4
5 6912 5 7.40
Y me aparece:
En prueba1
A
1 7.40 En vez del primer valor que es 2.
En prueba2
A
1 7.40 En vez de su valor respectivo que es: 5.29
En prueba3
A
1 7.40 Como es el tercer valor que me salio en mi formula de archivo1 ese si corresponde a prueba3.
El problema es que son muchas hojas y me cambia ese valor en todas,
les agradeceré que me ayuden a resolver este problema.

1 Respuesta

Respuesta
1

Según tu ejemplo en C5 tienes esto =SUMA (C1:C4)
Así que puse el contado en D1
Cada vez que cambies un valor en tu hoja, se va a llevar el resultado a la hoja que diga el contador.
Instrucciones para worksheet
1. Abre tu hoja de excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona ALt + F11
3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
4. Del lado derecho copia la macro
Private Sub Worksheet_Calculate()'toma el valor y lo pone en una hoja prueba'Por.Damcuenta = Sheets.Countnumhojas = 0For i = 1 To cuenta If Left(Sheets(i).Name, 6) = "prueba" Then numhojas = numhojas + 1 End If Next If Range("D1") < numhojas Then Range("D1") = Range("D1") + 1 Else Range("D1") = 1 End If hoja = "prueba" & Range("D1") Set pru = Sheets(hoja) pru.Range("C5") = Range("C5")End Sub
Prueba la macro.
Saludos. Dam

La pregunta no admite más respuestas

Más respuestas relacionadas