Codigo para copiar datos
Publicado por jordan andres (1 intervención) el 13/12/2019 23:09:00
Buenas tardes.
Estoy intentando copiar unos datos de un archivo a otro en una hoja de calculo de excel con vba. Una vez se de el anterior proceso la macro debe evaluar unas condiciones del archivo que recibio los datos copiados para en otra hoja presentar solo los datos que cumplen con las condiciones.
Este es el código, la verdad no se si esta bien
Estoy intentando copiar unos datos de un archivo a otro en una hoja de calculo de excel con vba. Una vez se de el anterior proceso la macro debe evaluar unas condiciones del archivo que recibio los datos copiados para en otra hoja presentar solo los datos que cumplen con las condiciones.
Este es el código, la verdad no se si esta bien
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Sub CopiarDatosOtroLibro()
Dim libroDatos As Workbook
Dim ultfilaDatos As Long
Dim ultfilaCapturaDatos As Long
Dim FechaVaciado As Date
Dim tipoElemento As String
Dim FechaInicio As Date
Dim FechaFinal As Date
Dim cantidad As Long
Dim Resistencia As String
Dim Cemento As Long
Dim Arena As Long
Dim Triturado As Long
Dim Aditivo As Long
Dim cont As Long
'abrir el archivo (salidas) que requiere ser copiado
'guardar los datos en las variables correspondientes
'cerrar archivo
Set libroDatos = Workbooks.Open("Z:\MANZANARES\AVANCE\01 CONCRETO\01 PRODUCCION DE CONCRETO EN OBRA\03 SALIDAS DE MATERIAL CONCRETOS EN OBRA\190422 CONTROL SALIDAS DE MATERIAL A PARTIR 1 MAYO.xlsx")
ultfilaDatos = libroDatos.Sheets(1).Range("A" & Rows.Count).End(xlUp).Rows
For cont = 3 To ultfilaDatos
FechaVaciado = ThisWorkbooks.Sheets(1).Cells(cont, 1)
tipoElemento = libroDatos.Sheets(1).Cells(cont, 9)
Resistencia = libroDatos.Sheets(1).Cells(cont, 2)
cantidad = libroDatos.Sheets(1).Cells(cont, 3)
Cemento = libroDatos.Sheets(1).Cells(cont, 4)
Arena = libroDatos.Sheets(1).Cells(cont, 5)
Triturado = libroDatos.Sheets(1).Cells(cont, 6)
Aditivo = libroDatos.Sheets(1).Cells(cont, 7)
libroDatos.Close
Next cont
ThisWorkbooks.Worksheets(3).Paste
Range("A1").Select
FechaInicio = ThisWorkbook.Worksheets(1).Cells(1, 3)
FechaFinal = ThisWorkbook.Worksheets(1).Cells(2, 3)
If tipoElemento = ThisWorkbook.Worksheets(1).Cells(3, 3) And FechaVaciado > FechaInicio And FechaVaciado < FechaFinal Then
ultfilaCapturaDatos = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row
ActiveSheet.Cells(ultfilaCapturaDatos + 1, 1) = FechaVaciado
ActiveSheet.Cells(ultfilaCapturaDatos + 1, 2) = cantidad
ActiveSheet.Cells(ultfilaCapturaDatos + 1, 5) = Resistencia
ActiveSheet.Cells(ultfilaCapturaDatos + 1, 5) = Cemento
ActiveSheet.Cells(ultfilaCapturaDatos + 1, 7) = Arena
ActiveSheet.Cells(ultfilaCapturaDatos + 1, 9) = Triturado
ActiveSheet.Cells(ultfilaCapturaDatos + 1, 11) = Aditivo
End If
End Sub
Valora esta pregunta


0