Está en la página 1de 13

Sub Semanal()

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

'la hoja activa se cambia el nombre a "base final"

ActiveSheet.Name = "base final"


'Es una técnica optimización que sirve para acelerar la macro
Application.ScreenUpdating = False
'se define la variable como tipo Variante
Dim X As Variant
'se abre el cuadro de dialogo
X = Application.GetOpenFilename _
("Excel Files (*.xls), *.xls", 2, "Abrir archivos", , True)
'Validar si se seleccionaron archivos
If IsArray(X) Then ' Si se seleccionan
'Crea Libro nuevo
Workbooks.Add
'Captura nombre del libro activo destino donde se grabaran los archivos
seleccionados
a = ActiveWorkbook.Name

'*/********************
'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

Set libroOrigen = Workbooks(a)

'Datos destino
Set libroDestino = Workbooks(ThisWorkbook.Name)
Set hojaDestino = libroDestino.Worksheets("base final")

'se asigna una variable a la pestaña


Set hojaOrigen1 = libroOrigen.Worksheets("TA.8")
Set hojaOrigen = libroOrigen.Worksheets("TP.3")
Set hojaOrigen2 = libroOrigen.Worksheets("TP.4")
Set hojaOrigen3 = libroOrigen.Worksheets("TP.5")
Set hojaOrigen4 = libroOrigen.Worksheets("TP.6")
'196-41

'se etiquetan las columnas


hojaDestino.Cells(1, 1) = "date"
hojaDestino.Cells(1, 2) = "entity"
hojaDestino.Cells(1, 3) = "entity"
hojaDestino.Cells(1, 4) = "product"
hojaDestino.Cells(1, 5) = "product"
hojaDestino.Cells(1, 6) = "type"
hojaDestino.Cells(1, 7) = "interval"
hojaDestino.Cells(1, 8) = "value"

'Hoja ta.08

'se borra el formato en la hojaOrigen1


hojaOrigen1.Cells.ClearFormats
'asignar a la variable ncolumnas el número aleatorio de la fila A
ncolumnas = hojaOrigen1.UsedRange.Columns.Count
'asignar a la variable nfilas el número aleatorio de la columna A
nfilas2 = hojaOrigen1.Range("A" & Rows.Count).End(xlUp).Row

'se procesan los datos por filas y columnas de la matriz


'recorre las filas
For p = 1 To nfilas2

'se busca los datos de entidad para utilizarlo como identificador


If hojaOrigen1.Cells(p, 1) = "E N T I D A D " Then
'le encuentra el identificador ENTIDAD le asigna y le guarda en una variable
ac = p
p = nfilas2

End If

Next p
'Llena los vacíos del producto

For w = 2 To ncolumnas

'traspasa datos en las columnas que están en blanco


If hojaOrigen1.Cells(ac, w) = "" Then
'concatena los datos
hojaOrigen1.Cells(ac, w) = hojaOrigen1.Cells(ac, w - 1) & hojaOrigen1.Cells(ac + 2,
w - 1)

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

If hojaOrigen1.Cells(i, 1) = "" Then


hojaOrigen1.Cells(i, "A").EntireRow.Delete
End If
Next i
'después de eliminar los espacios en blanco se vuelve a buscar la variable ENTIDAD

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

'ac numero de la fila


For i = ac + 1 To nfilas2
empresa = hojaOrigen1.Cells(i, 1)

For k = 2 To ncolumnas

producto = hojaOrigen1.Cells(ac, k)
tasa = hojaOrigen1.Cells(i, k)

UltLinea = Range("B" & Rows.Count).End(xlUp).Row


'busca la variable tea que es la tasa
If hojaOrigen1.Cells(ac - 1, k) Like "*TEA*" Then

If tasa > 0 Then


'si la tasa es mayor a cero se captura el dato
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 hojaOrigen1.Cells(ac - 1, k) Like "*Nominal*" Then

If tasa > 0 Then


'si la tasa es mayor a cero se captura el dato
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

If hojaOrigen1.Cells(ac - 1, k) Like "*Monto*" Then


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) = "Monto"
hojaDestino.Cells(UltLinea + 1, 7) = "Semana"
hojaDestino.Cells(UltLinea + 1, 8) = tasa
End If

End If

Next k
Next i

'Hoja PT.3

'se borra el formato en la hojaOrigen


hojaOrigen.Cells.ClearFormats
'asignar a la variable ncolumnas2 el número aleatorio de la fila B
ncolumnas2 = hojaOrigen.UsedRange.Columns.Count

'asignar a la variable nfilas22 el número aleatorio de la columna B


nfilas22 = hojaOrigen.Range("B" & Rows.Count).End(xlUp).Row
'se procesan los datos por filas y columnas de la matriz
'recorre las filas
For q = 1 To nfilas22
'se busca los datos de entidad para utilizarlo como identificador
If hojaOrigen.Cells(q, 2) = "E N T I D A D " Then
'le encuentra el identificador ENTIDAD le asigna y le guarda en una variable
ac1 = q
q = nfilas22
End If

Next q

'Llena los vacíos del producto


For i = 2 To nfilas22

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"

'busca espacios en blanco de la columna B y los elimina


For i = nfilas2 To 2 Step -1

If hojaOrigen.Cells(i, 2) = "" Then

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

If hojaOrigen.Cells(q, 2) = "E N T I D A D " Then


'encuentra el identificador y guarda en la variable
ac1 = q
q = 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

'busca la variable tpe que es la tasa

If hojaOrigen.Cells(ac1 - 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 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

'se borra el formato en la hojaOrigen2


hojaOrigen2.Cells.ClearFormats

ncolumnas3 = hojaOrigen2.UsedRange.Columns.Count
nfilas23 = hojaOrigen2.Range("B" & Rows.Count).End(xlUp).Row

'busca espacios en blanco de la columna B y los elimina


For i = nfilas23 To 2 Step -1

If hojaOrigen2.Cells(i, 2) = "" Then


hojaOrigen2.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 nfilas23

If hojaOrigen2.Cells(q, 2) = "E N T I D A D " Then


'encuentra el identificador y guarda en la variable
ac2 = q
q = nfilas23
End If
Next q

'si encuentra la variable TOTAL no hace nada y continúa


For i = ac2 + 1 To nfilas23
empresa = hojaOrigen2.Cells(i, 2)
If empresa Like "*TOTAL*" Then

Else

For k = 3 To ncolumnas3

producto = hojaOrigen2.Cells(ac2, k)
tasa = hojaOrigen2.Cells(i, k)

UltLinea = Range("B" & Rows.Count).End(xlUp).Row


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) = "Monto"
hojaDestino.Cells(UltLinea + 1, 7) = "Semana"
hojaDestino.Cells(UltLinea + 1, 8) = tasa

End If
Next k
End If
Next i

'Hoja Tp.5

'se borra el formato en la hojaOrigen


hojaOrigen3.Cells.ClearFormats
'asignar a la variable ncolumnas4 el número aleatorio de la fila B
ncolumnas4 = hojaOrigen3.UsedRange.Columns.Count
'asignar a la variable nfilas24 el número aleatorio de la columna B
nfilas24 = hojaOrigen3.Range("B" & Rows.Count).End(xlUp).Row

'se procesan los datos por filas y columnas de la matriz


'recorre las filas
For q = 1 To nfilas24
'se busca los datos de entidad para utilizarlo como identificador
If hojaOrigen3.Cells(q, 2) = "E N T I D A D " Then
'le encuentra el identificador ENTIDAD le asigna y le guarda en una variable
ac3 = q
q = nfilas24
End If

Next q
'Llena los vacíos del producto
For i = 3 To ncolumnas4

If hojaOrigen3.Cells(ac3, i) = "" Then

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

If hojaOrigen3.Cells(i, 2) = "" Then


hojaOrigen3.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 nfilas24
'se busca los datos de entidad para utilizarlo como identificador
If hojaOrigen3.Cells(q, 2) = "E N T I D A D " Then
'encuentra el identificador y se guarda en la variable
ac3 = q
q = nfilas24

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

'se borra el formato en la hojaOrigen


hojaOrigen4.Cells.ClearFormats
'asignar a la variable ncolumnas5 el número aleatorio de la fila B
ncolumnas5 = hojaOrigen4.UsedRange.Columns.Count
'asignar a la variable nfilas25 el número aleatorio de la columna B
nfilas25 = hojaOrigen4.Range("B" & Rows.Count).End(xlUp).Row

For i = nfilas25 To 2 Step -1


'busca espacios en blanco de la columna B y los elimina
If hojaOrigen4.Cells(i, 2) = "" Then
hojaOrigen4.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 nfilas25
'se busca los datos de entidad para utilizarlo como identificador
If hojaOrigen4.Cells(q, 2) = "E N T I D A D " Then
'encuentra el identificador y se guarda en la variable
ac4 = q
q = nfilas25

End If
Next q

'si se encuentra el TOTAl no hace nada y continua


For i = ac4 + 1 To nfilas25
empresa = hojaOrigen4.Cells(i, 2)
If empresa Like "*TOTAL*" Then

Else

For k = 3 To ncolumnas5

producto = hojaOrigen4.Cells(ac4, k)
tasa = hojaOrigen4.Cells(i, k)

UltLinea = Range("B" & Rows.Count).End(xlUp).Row

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) = "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

UltLinea = Range("A" & Rows.Count).End(xlUp).Row

'se coloca la fecha en formato


For i = 2 To UltLinea
hojaDestino.Cells(i, 1).Value = Format(hojaDestino.Cells(i, 1), "mm/dd/yyyy")
hojaDestino.Cells(i, 1).NumberFormat = ("mm/dd/yyyy")
'funcion para quitar espacios a la celda2 y le compara si dice Sitema Financiero
Nacional
If WorksheetFunction.Trim(hojaDestino.Cells(i, 2)) = "SISTEMA FINANCIERO NACIONAL"
Then
hojaDestino.Cells(i, 2) = 0
End If
'le quita espacios al producto
hojaDestino.Cells(i, 3) = WorksheetFunction.Trim(hojaDestino.Cells(i, 3))
'reemplaza , por nada
hojaDestino.Cells(i, 2).Value = Replace(hojaDestino.Cells(i, 2).Value, ",", "")

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

'Busqueda de entidades y productos

Sub BuscarvEntity()
Dim i, j, nfilas As Integer
Dim fin1, fin2 As Integer

Sheets("base final").Select

'Nombre Final a entidades


fin1 = Application.CountA(Worksheets("base final").Range("b:b")) 'Determinamos
rango de los datos con un contarA
With Worksheets("base final").Range("C2:C" & fin1) 'situamos el resultado en el
rango C2 en adelante
.Formula = "=IF(ISERROR(VLOOKUP(RC[-1],Originacion!
R2C1:R900C2,2,FALSE)),"""",VLOOKUP(RC[-1],Originacion!R2C1:R900C3,2,FALSE))"
'buscarv y si no está que sea vacío
.Formula = .Value
End With

'Nombre Final a productos


fin2 = Application.CountA(Worksheets("base final").Range("d:d"))
With Worksheets("base final").Range("E2:E" & fin2)
.Formula = "=IF(ISERROR(VLOOKUP(RC[-1],Originacion!
R2C1:R900C2,2,FALSE)),"""",VLOOKUP(RC[-1],Originacion!R2C1:R900C3,2,FALSE))"
.Formula = .Value
End With

End Sub

Sub buscarv_code()

'Se declara las variables para realizar una busqueda de datos


Dim i, nfilas As Long
Dim entity, product, tipo, interval As Variant 'se declaran las variables para las
columnas C,E,F,G
Dim r_entity, r_product, r_tipo, r_interval As Variant 'variables que establecen el
rango
Dim c_entity, c_product, c_tipo, c_interval As Variant 'se declaran las variables
para las columna I
Dim code As Variant 'i

'se muestra los códigos entidad, producto, tipo e intervalo


nfilas = Sheets("base final").Range("B" & Rows.Count).End(xlUp).Row
Set r_entity = Sheets("Codes").Range("A2:B400")
Set r_product = Sheets("Codes").Range("D2:E250")
Set r_tipo = Sheets("Codes").Range("G2:H4")
Set r_interval = Sheets("Codes").Range("J2:K6")

'se procesan informacion de entidad, producto, tipo e intervalo


For i = 2 To nfilas
entity = Sheets("base final").Cells(i, "C")
product = Sheets("base final").Cells(i, "E")
tipo = Sheets("base final").Cells(i, "F")
interval = Sheets("base final").Cells(i, "G")
c_entity = Application.VLookup(entity, r_entity, 2, False)
c_product = Application.VLookup(product, r_product, 2, False)
c_tipo = Application.VLookup(tipo, r_tipo, 2, False)
c_interval = Application.VLookup(interval, r_interval, 2, False)

If IsError(c_entity) Or IsError(c_product) Or IsError(c_tipo) Or


IsError(c_interval) Then
c_entity = ""
c_product = ""
c_tipo = ""
c_interval = ""
End If

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

'Guardamos en variable el rango de los datos sin encabezado.


Set Rango = ActiveCell.CurrentRegion.Offset(0, 0).Resize(CuentaR,
CuentaC).SpecialCells(xlCellTypeVisible)
'Rango.Select
strMsgDestino = InputBox("Se copiarán los datos sin encabezado." & vbNewLine +
vbNewLine & _
"Escribre HOJA o LIBRO para confirmar el destino.",
"EXCELeINFO - Pegar datos")
'En caso de que escriba HOJA o LIBRO continuará con la copia de los datos.
Select Case strMsgDestino
Case Is = "HOJA"
ActiveWorkbook.Sheets.Add
Case Is = "LIBRO"
Workbooks.Add
Case Else
Application.CutCopyMode = False
Exit Sub
End Select
'
Rango.Copy
ActiveSheet.Paste
Application.CutCopyMode = False
'End If
'
'En caso de algún error mostramos el mensaje descriptivo.
Exit Sub
ErrorHandler:
MsgBox "Ha ocurrido un error: " & Err.Description, vbExclamation, "EXCELeINFO"
'
End Sub
'verifica que no existan valores de 0
Sub cerosTotales()
nfilas = Sheets("base final").Range("C" & Rows.Count).End(xlUp).Row

For i = nfilas To 2 Step -1


If Sheets("base final").Cells(i, 2).Value = 0 Then
'Si el valor de la columna2 es cero se borran los datos
Sheets("base final").Cells(i, "C").EntireRow.Delete
End If

Next i

End Sub

También podría gustarte