Comparar 2 Arrays y Mostrar Mensaje Excel Macros
Estoy tratando de comparar 3 tablas (INGRESOS, GASTOS, ROST):
INGRESOS: es una hoja dentro del libro del formulario que tiene códigos de ingresos.
GASTOS: es una hoja dentro del libro del formulario que tiene códigos de gastos.
ROST: es una hoja que yo tengo en otro libro que cargo a mi formulario, que tiene códigos de INGRESOS Y GASTOS.
Lo que intento hacer es validar si el archivo cargado tiene todos los códigos que figuran en la tabla ingresos y gastos. Estoy con el objetivo de advertir al usuario a través de un msgbox los códigos que no se han encontrado y pueda resolverlo.
Entonces, lo que yo he hecho es capturar las columnas de los códigos de cada tabla para compararlos. Esto lo hice así, porque no se me ocurre como puedo hacer un buscarv entre 2 libros y con macros.
Básicamente, quisiera que me apoyen en el código para comparar las matrices y si falta algun datos, me muestre un mensaje con todos los códigos faltantes separados por Ingresos y Gastos.
Muchas Gracias. Aquí les dejo mi código
Private Sub btnprocesar_Click() On Error Resume Next Application.DisplayAlerts = False Application.ScreenUpdating = False 'Prueba 3 Dim Anio, Mes, RutaReporte As String Dim Ufi, Ufg As Long Dim MatrizIngresos(), MatrizGastos(), MatrizOST() As Variant Anio = Me.cboanio Mes = Me.cbomes RutaReporte = Me.txtreporte Ufi = Sheets("INGRESOS").Range("B5").End(xlDown).Row 'Ultima Fila Tabla Ingresos Ufg = Sheets("GASTOS").Range("B5").End(xlDown).Row 'Ultima Fila Tabla Gastos MatrizIngresos = Sheets("INGRESOS").Range("E5:E" & Ufi) 'Definiendo mi Matriz Ingresos MatrizGastos = Sheets("INGRESOS").Range("E5:E" & Ufg) 'Definiendo mi Matriz Gastos If RutaReporte = "" Then MsgBox ("Debe Seleccionar primero el REPORTE_OST"), vbExclamation, "ADVERTENCIA" Exit Sub Else Workbooks.Open Filename:=RutaReporte RutaReporte = ActiveWorkbook.Name MatrizOST = Sheets("ROST").Range("A14:A430" & Ufg) 'Definiendo mi Matriz ROST 'BuscarV Array MatrizIngresos vs MatrizOST '(Debo verificar si los codigos de la matrizIngresos estan en la Matriz ROST) 'BuscarV Array MatrizGastos vs MatrizOST '(Debo verificar si los codigos de la matrizGastos estan en la Matriz ROST) 'Mensaje Consolidado 'Si se encontraron todos los codigos de Ingresos y Gastos: 'MsgBox ("La Estructura del Reporte ROST es correcta. Se encontraron todos los codigos"), vbInformation, "VALIDACION" 'Si NO encontraron todos los codigos de Ingresos y Gastos: 'MsgBox ("La estructura del Reporte ROST no es correcta. Estos son los códigos no encontrados"), vbCritical, "VALIDACION" End If Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub