Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dim f As Date
'Primer mensaje que se visualiza al correr la macro, se pide ingresar la fecha, se
valida los datos de la fecha
f = DateValue(InputBox("Ingrese fecha Informe (dd/mm/aaaa)", "Fecha"))
'llamar al método extraer
Call extraer(f)
End Sub
Sub extraer(fechaFinal)
'inicio de declaración de variables
Dim palabra As String
Dim fecha() As String
Dim ruta As String
Dim nombre As String
Dim fecha1() As String
Dim nombre1 As String
Dim fecha2() As String
Dim fecha3 As String
Dim fechaF As Date
Dim libroOrigen As Workbook
Dim libroDestino As Workbook
Dim libroOrigen1 As Workbook
Dim hojaOrigen As Worksheet
Dim hojaOrigen1 As Worksheet
Dim hojaDestino As Worksheet
Dim hojaOrigen20 As Worksheet
Dim tasa As Double
Dim empresa As String
Dim dia As String
Dim mes As String
Dim año As String
Dim UltLinea As Long
Dim ac As Long
'final de declaración de variables
'*/********************
'Se dimensiona el sub indice mínimmo y máximo de la matriz
For y = LBound(X) To UBound(X)
'Se importa los datos del documento X
Application.StatusBar = "Importando Archivos: " & X(y)
'se va abriendo los archivos que se seleccionan en la matriz
Workbooks.Open X(y)
b = ActiveWorkbook.Name
'recorren las pestañas del libro activo
For Each Hoja In ActiveWorkbook.Sheets
'se van copiando las hojas
Hoja.Copy after:=Workbooks(a).Sheets(Workbooks(a).Sheets.Count)
Next
'se cierra cada libro
Workbooks(b).Close False
Next
'se restaura el texto predeterminado de la barra de estado
Application.StatusBar = "Listo"
End If
'no se actualizen los datos en la macro
Application.ScreenUpdating = False
'manejo de variables
'Datos destino
Set libroDestino = Workbooks(ThisWorkbook.Name)
Set hojaDestino = libroDestino.Worksheets("base final")
'Hoja ta.08
End If
Next p
'Llena los vacíos del producto
For w = 2 To ncolumnas
hojaOrigen1.Cells(ac, w - 1) = hojaOrigen1.Cells(ac, w)
'captura y guardan los datos
cadenaAux = hojaOrigen1.Cells(ac + 2, w)
cadenaAux1 = hojaOrigen1.Cells(ac + 2, w - 1)
End If
Next w
'recorre las columnas
For q = 2 To ncolumnas
'captura y guarda
cadena1 = hojaOrigen1.Cells(ac, q)
cadena2 = Replace(cadena1, cadenaAux, "")
cadena3 = Replace(cadena2, cadenaAux1, "")
hojaOrigen1.Cells(ac, q) = cadena3
Next q
'aleatorio de prueba
hojaOrigen1.Cells(ac - 1, 1) = "sdafs"
'recorre las filas
For i = 2 To nfilas2
'captura y guarda
hojaOrigen1.Cells(ac - 1, i) = hojaOrigen1.Cells(ac + 3, i)
Next i
'busca espacios en blanco de la columna A y les elimina
For i = nfilas2 To 2 Step -1
For p = 1 To nfilas2
If hojaOrigen1.Cells(p, 1) = "E N T I D A D " Then
'encuentra el identificador y guarda en la variable
ac = p
p = nfilas2
End If
Next p
For k = 2 To ncolumnas
producto = hojaOrigen1.Cells(ac, k)
tasa = hojaOrigen1.Cells(i, k)
End If
End If
'busca la variable nominal
If hojaOrigen1.Cells(ac - 1, k) Like "*Nominal*" Then
End If
End If
End If
Next k
Next i
'Hoja PT.3
Next q
hojaOrigen.Cells(ac1 - 1, i) = hojaOrigen.Cells(ac1 + 3, i)
Next i
For i = 3 To ncolumnas2
'traspasa datos en las columnas que están en blanco
If hojaOrigen.Cells(ac1, i) = "" Then
hojaOrigen.Cells(ac1, i) = hojaOrigen.Cells(ac1, i - 1)
End If
Next i
hojaOrigen.Cells(ac1 - 1, 2) = "SSGS"
hojaOrigen.Cells(i, "B").EntireRow.Delete
End If
Next i
'después de eliminar los espacios en blanco se vuelve a buscar la variable ENTIDAD
For q = 1 To nfilas22
End If
Next q
'si la variable empresa tiene la palabra TOTAL no hace nada y salta al siguiente
for
For i = ac1 + 1 To nfilas22
empresa = hojaOrigen.Cells(i, 2)
If empresa Like "*TOTAL*" Then
Else
For k = 3 To ncolumnas2
producto = hojaOrigen.Cells(ac1, k)
tasa = hojaOrigen.Cells(i, k)
UltLinea = Range("B" & Rows.Count).End(xlUp).Row
End If
End If
'busca la variable con etiqueta Nominal
If hojaOrigen.Cells(ac1 - 1, k) Like "*Nominal*" Then
'si la tasa es mayor a cero se captura el dato
If tasa > 0 Then
hojaDestino.Cells(UltLinea + 1, 1) = fechaFinal
hojaDestino.Cells(UltLinea + 1, 2) = empresa
hojaDestino.Cells(UltLinea + 1, 4) = producto
hojaDestino.Cells(UltLinea + 1, 6) = "Tasa Nominal"
hojaDestino.Cells(UltLinea + 1, 7) = "Semana"
hojaDestino.Cells(UltLinea + 1, 8) = tasa
End If
End If
Next k
End If
Next i
'Hoja Tp.4
ncolumnas3 = hojaOrigen2.UsedRange.Columns.Count
nfilas23 = hojaOrigen2.Range("B" & Rows.Count).End(xlUp).Row
Next i
'después de eliminar los espacios en blanco se vuelve a buscar la variable ENTIDAD
For q = 1 To nfilas23
Else
For k = 3 To ncolumnas3
producto = hojaOrigen2.Cells(ac2, k)
tasa = hojaOrigen2.Cells(i, k)
hojaDestino.Cells(UltLinea + 1, 1) = fechaFinal
hojaDestino.Cells(UltLinea + 1, 2) = empresa
hojaDestino.Cells(UltLinea + 1, 4) = producto
hojaDestino.Cells(UltLinea + 1, 6) = "Monto"
hojaDestino.Cells(UltLinea + 1, 7) = "Semana"
hojaDestino.Cells(UltLinea + 1, 8) = tasa
End If
Next k
End If
Next i
'Hoja Tp.5
Next q
'Llena los vacíos del producto
For i = 3 To ncolumnas4
hojaOrigen3.Cells(ac3, i) = hojaOrigen3.Cells(ac3, i - 1)
End If
hojaOrigen3.Cells(ac3 - 1, i) = hojaOrigen3.Cells(ac3 + 3, i)
Next i
hojaOrigen3.Cells(ac3 - 1, 2) = "SSGS"
'busca espacios en blanco de la columna B y los elimina
For i = nfilas24 To 2 Step -1
Next i
End If
Next q
'si encuentra el TOTAL no hace nada y coninua
For i = ac3 + 1 To nfilas24
empresa = hojaOrigen3.Cells(i, 2)
If empresa Like "*TOTAL*" Then
Else
For k = 3 To ncolumnas4
producto = hojaOrigen3.Cells(ac3, k)
tasa = hojaOrigen3.Cells(i, k)
UltLinea = Range("B" & Rows.Count).End(xlUp).Row
'busca la variable tpe que es la tasa
If hojaOrigen3.Cells(ac3 - 1, k) Like "*TPE*" Then
'si la tasa es mayor a cero se captura el dato
If tasa > 0 Then
hojaDestino.Cells(UltLinea + 1, 1) = fechaFinal
hojaDestino.Cells(UltLinea + 1, 2) = empresa
hojaDestino.Cells(UltLinea + 1, 4) = producto
hojaDestino.Cells(UltLinea + 1, 6) = "Tasa"
hojaDestino.Cells(UltLinea + 1, 7) = "Semana"
hojaDestino.Cells(UltLinea + 1, 8) = tasa
End If
End If
'busca la variable Nominal
If hojaOrigen3.Cells(ac3 - 1, k) Like "*Nominal*" Then
'si la tasa es mayor a cero se captura el dato
If tasa > 0 Then
hojaDestino.Cells(UltLinea + 1, 1) = fechaFinal
hojaDestino.Cells(UltLinea + 1, 2) = empresa
hojaDestino.Cells(UltLinea + 1, 4) = producto
hojaDestino.Cells(UltLinea + 1, 6) = "Tasa Nominal"
hojaDestino.Cells(UltLinea + 1, 7) = "Semana"
hojaDestino.Cells(UltLinea + 1, 8) = tasa
End If
End If
Next k
End If
Next i
'Hoja Tp.6
Next i
End If
Next q
Else
For k = 3 To ncolumnas5
producto = hojaOrigen4.Cells(ac4, k)
tasa = hojaOrigen4.Cells(i, k)
hojaDestino.Cells(UltLinea + 1, 1) = fechaFinal
hojaDestino.Cells(UltLinea + 1, 2) = empresa
hojaDestino.Cells(UltLinea + 1, 4) = producto
hojaDestino.Cells(UltLinea + 1, 6) = "Monto"
hojaDestino.Cells(UltLinea + 1, 7) = "Semana"
hojaDestino.Cells(UltLinea + 1, 8) = tasa
End If
Next k
End If
Next i
'se borran las columnas extras de entidad y producto
hojaDestino.Range("C:C").Columns.Delete
hojaDestino.Range("D:D").Columns.Delete
Next i
'Workbooks(libroOrigen1.Name).Close Savechanges:=False
Workbooks(libroOrigen.Name).Close Savechanges:=False
'Call BuscarvEntity
'Call buscarv_code
Call cerosTotales
Call copiarDatos
End Sub
Sub BuscarvEntity()
Dim i, j, nfilas As Integer
Dim fin1, fin2 As Integer
Sheets("base final").Select
End Sub
Sub buscarv_code()
Sheets("base final").Cells(i, "I") = c_entity & c_product & c_tipo & c_interval
Next i
End Sub
Sub copiarDatos()
'
'Declaramos variables.
Dim CuentaR As Integer
Dim CuentaC As Integer
Dim strMsgDestino As String
Dim Rango As Range
'
'En caso de error...
On Error GoTo ErrorHandler
'
'Asignamos valores a las variables.
CuentaR = ActiveCell.CurrentRegion.Rows.Count
CuentaC = ActiveCell.CurrentRegion.Columns.Count
Next i
End Sub