Visual Basic - Codigo para copiar datos

Life is soft - evento anual de software empresarial
 
Vista:

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
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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder