Excel - volcar datos de un archivo a otro

 
Vista:
Imágen de perfil de JAIME
Val: 100
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

volcar datos de un archivo a otro

Publicado por JAIME (55 intervenciones) el 28/05/2024 19:07:43
Buenas a todos y todas

Alguien me puede ayudar con estos archivos, tengo 2 archivos uno PLANIFICACION A960 2024, con la hoja POTENCIAL PREP.POR TURNOS, y el otro archivo PARTE GLOBAL 2024pr, con la hoja JUNIO.

Tiene que volcar unos datos del archivo planificación a960 2024 de la hoja potencial prep.por turnos al otro archivo a la hoja junio.

ejemplo: copiar de la hoja potencial prep.por turnos las celdas EY13, EY14 y EY15 teniendo en cuenta la columna A donde pone MAÑANA, TARDE, NOCHE y pegar los datos como valores en la hoja JUNIO , teniendo en cuenta las fechas de la fila 1 y la fila 10 donde esta NOCHE, MAÑANA Y TARDE, para pegar los datos en la fila 43 en

seria una funcion que pueda correr para todos los dias del mes

Un saludo y gracias a todos y todas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

volcar datos de un archivo a otro

Publicado por Antoni Masana (2540 intervenciones) el 29/05/2024 14:08:20
Veamos si entiendo lo que quieres hacer y a concretar un poco más.

Necesitas una macro que tome los datos del libro PLANIFICACION A960 2024 en la hoja POTENCIAL PREP.POR TURNOS y los copie en el libro PARTE GLOBAL 2024pr

En el primer libro los datos están en las filas 13, 14 y 15 desde la columna C y cada columna corresponde a una fecha.
El destino es el segundo libro, la hoja correspondiente al mes y en la fila 43 y la columna correspondiente a la fecha y el turno.

Ahora ¿Que debe hacer la macro?
A - Es decir recorre todas las hojas del segundo libro e ir completando los datos.
B - Solo actualizar la hoja activa del segundo libro.
C - Solo actualizar una determinada fecha.
D - Otros.

Según la opción escogida hago la macro de una forma u otra.

La macro supongo que debe estar en el segundo libro (PARTE GLOBAL 2024pr) y suponer que el primer libro (PLANIFICACION A960 2024) esta abierto. ¿O no?

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

volcar datos de un archivo a otro

Publicado por Antoni Masana (2540 intervenciones) el 29/05/2024 15:53:38
Como estaba aburrido he realizado la macro para a opción de actualizar todas las hojas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Option Explicit
 
Sub Copiar_Datos()
    Dim Mes As Byte, Col As Long, Tipo As Byte, Col_Orig As Long
    Dim Libro As Workbook, Num As Integer, _
         Hoja As Worksheet
 
    Set Libro = Workbooks("PLANIFICACION 960 2024.xlsx")
    Set Hoja = Libro.Worksheets("POTENCIAL PREP. POR TURNO")
 
    ' ---&--- Recorre todo los meses
    For Mes = 1 To 12
 
        ' ---&--- Busca si existe la hoja
        For Num = 1 To Sheets.Count
            If Sheets(Num).Name = UCase(MonthName(Mes)) Then
                With Sheets(UCase(MonthName(Mes)))
 
                    ' ---&--- Recorre la fila 1 desde la columna 3 saltando 4 columnas
                    Col = 3
                    While .Cells(1, Col) <> Empty
 
                        ' ---&--- Busca en PLANIFICACIÓN en que columna esta la fecha
                        Col_Orig = Application.WorksheetFunction.Match(.Cells(1, Col), Hoja.Range("11:11"), 0)
 
                        ' ---&--- Asigna el valor en cada una de las columnas
                        For Tipo = 1 To 3
                            Select Case Trim(.Cells(10, Col + Tipo))
                                Case "MAÑANA": .Cells(43, Col + Tipo) = Hoja.Cells(13, Col_Orig)
                                Case "TARDE":  .Cells(43, Col + Tipo) = Hoja.Cells(14, Col_Orig)
                                Case "NOCHE":  .Cells(43, Col + Tipo) = Hoja.Cells(15, Col_Orig)
                            End Select
                        Next
                        Col = Col + 4
                    Wend
                End With
                Exit For
            End If
        Next
    Next
End Sub


NOTA: los textos de la fila 10 no está bien, el texto "MAÑANA", está como "MAÑANA ", con un espacio al final y por esta razón he puesto el Trim()

Saludos
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de JAIME
Val: 100
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

volcar datos de un archivo a otro

Publicado por JAIME (55 intervenciones) el 29/05/2024 16:52:27
Buenas Antoni
Gracias por tu tiempo

Si se trata de que busque en la hoja "potencial prep. por turno" los datos en las filas 13,14 y 15 y el turno de trabajo en la columna A tambien en las filas 13,14 y 15.

Luego busca en el otro archivo en el mes de Junio por ejemplo las fechas que estan en la fila 1, y debe de pegar los datos en la fila 43 teniendo en cuenta el turno y la fecha del otro libro "potencial prep.por turno".

Al pegar tengo los dos libros abiertos

Estoy probando la macros y no pega nada de todas formas esta noche en el trabajo con un ordenador mejor la probare, ya que el mio la version de excel no es de las ultimas.

Muchas gracias como siempre Antoni
Jaime
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Nolberto
Val: 84
Ha aumentado su posición en 6 puestos en Excel (en relación al último mes)
Gráfica de Excel

volcar datos de un archivo a otro

Publicado por Nolberto (128 intervenciones) el 29/05/2024 20:21:32
Primero que nada, como se llama la macro en la que estas intentando hacer eso que mencionas?

Por otro lado, mencionar que por la forma en que estan estructurados los datos, es sumamente doloroso el hacer algún tipo de procesamiento.
La forma correcta es tener en la primera fila todos los encabezados de columna, iniciando en A1, de preferencia en esa columna A debería estar el campo clave que identifica a cada registro, los registros deben iniciar en la fila 2.
Tambien es inadecuado tener una hoja para cada mes como en este caso, lo correcto seria tener todo en una sola hoja, para identificar a que mes corresponde, simplemente se agrega una columna que contendrá el nombre del mes o la fecha del registro.

Esto significa que la tabla deberá ser lo mas simple posible en cuanto a estructura, primera fila para encabezados y a partir de la segunda los registros.

Con esto se logra algo sumamente importante, que a la hora de realizar algún tipo de automatización para el tratamiento de datos, sea mucho mas fácil y versátil, incluso se pueden ejecutar sentencias SQL que facilitan enormemente ese trabajo de hacer procesamiento de datos.

En resumen, simplificar el diseño de las tablas de datos es un aspecto fundamental para luego trabajar con esa información.

En este caso particular eso no se ha logrado, además, no se ha especificado cual es la función que tienes ahora en la que intentas hacer lo indicado, si nos dices como se llama esa función, quizá sea posible hacer alguna sugerencia mas precisa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar