Alternativa al MsgBox

Hola buenos días, como te comente el viernes tenia un pequeño problema con la macro de RecorreTabla con la que me ayudaste ya que al mostrarme el MsgBox:
If Codigos16NoEncontrados <> "" Then
    MsgBox ("Los siguientes CODIGOS no han sido encontrados en su correspondiente HOJA de " + LibroB + ": " + vbCrLf + Codigos16NoEncontrados)
Else
    MsgBox ("Encontrados todas las CODIGOS EN SUS HOJAS")
End If
No me aparecen todos los códigos porque el MsgBox está limitado como me dijiste a 1024 caracteres y de las soluciones que me comentaste la 2ª que me propusiste me parece de gran ayuda ya me ayudaría a examinar con detenimiento los errores, te la muestro:
b) Crear automáticamente una hoja resumen que saque en dos columnas las combinaciones de codigo05-codigo16 no encontrados
Te doy las gracias de nuevo por adelantado ya que me estás ayudando muchísimo,
un saludo

1 Respuesta

Respuesta
1
Como ya te he explicado por correo, esta función de más abajo te crea una hoja nueva y te copia en ella todos los códigos incorrectos para que puedas revisarlos con tranquilidad. La llamad a la función hay que incluirla en la función previa que te hice el otro día. Todo va explicado en el correo.
Espero que te sirva.
Saludos
Angel
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function MuestraCodigos(ListaCodigos, LibroA)
    Windows(LibroA).Activate
    Hoja_chequeo = "CHEQUEO"
    '
    'AL INICIO DEL PROCESO...
    'Creo la hoja de chequeo si no existe y la vacío...
    '
    Sw_encontrado = False
    For i = 1 To Sheets.Count
        If Sheets(i).Name = Hoja_chequeo Then
            Sw_encontrado = True
        End If
    Next
    If Not Sw_encontrado Then
        Sheets(Sheets.Count).Select
        Sheets.Add
        Sheets(Sheets.Count - 1).Name = Hoja_chequeo
        Sheets(Sheets.Count - 1).Move After:=Sheets(Sheets.Count)
    End If
    Sheets("CHEQUEO").Select
    Cells.Select
    Selection.ClearContents
    With Selection.Font
        .Name = "Courier New"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    '
    'Creo CABECERAS
    '
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "CODIGO05"
    Range("C3").Select
    ActiveCell.FormulaR1C1 = "CODIGO16"
    Rows("3:3").Select
    With Selection
        .HorizontalAlignment = xlGeneral
        .VerticalAlignment = xlTop
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
        .Font.Bold = True
    End With
    '
    Columns("B:B").Select
    Selection.ColumnWidth = 15.29
    Columns("C:C").ColumnWidth = 20.29
    Range("A1").Select
    Rows("3:3").RowHeight = 15
    '
    Range("B4").Select
    ActiveCell.FormulaR1C1 = "TODO OK"
    'Activo FILTRO
    Range("B3:C1000").Select
    Selection.AutoFilter
    '
    'Proceso la lista de códigos...
    '
    Fila = 4
    For i = 1 To Len(ListaCodigos) Step 26
        Codigo05 = Mid(ListaCodigos, i, 5)
        Codigo16 = Mid(ListaCodigos, i + 8, 16)
        Range("B" + Trim(Str(Fila))).Value = Codigo05
        Range("C" + Trim(Str(Fila))).Value = Codigo16
        Fila = Fila + 1
    Next
    Range("A1").Select
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas