Macro para generar archivo B.xlsx con datos (nombre columnas) información faltante en A.xlsx

Para Dam:

Tengo en A.xlsx:

   A                                B                                C                     D                          E ........ultima colum con datos

1 No. Factura         Fecha Factura        CodigoProd      Cantidad        Precio Unit.       ......   

2.  Dato1                  Dato2                    Dato3                  Dato4                                   .............

3  Dato5                    Dato6                  Dato7                                                Dato8     ............

 4 Dato9                    Dato10                                                Dato11                               ..........

........ N registros

De acuerdo a la información anterior, la macro debe generar automáticamente

el archivo B.xlsx con la siguiente Información:

      A                                 B                           C                         D                           E

2 Dato1                         Dato2                 Dato3                   Dato4                  Precio Unit

 3Dato5                         Dato6                 Dato7                   Cantidad

4 Dato9                         Dato10             CodigoProd         Precio Unit

...

Nota: Es decir, cuando el valor de la celda en A.xlsx es "" (vacia), en B.xlsx debe colocar es el título de la columna de A.xlsx

En A.xlsx, el No. Factura y Fecha Factura siempre existen estos dos datos

  • Gracias Dam

1 respuesta

Respuesta
2

¿Los 2 archivos ya existen?

¿Cómo se llama la hoja de cada archivo?

Buenos días apreciado Dam

El archivo A.xlsx ya existe, el otro no (B.xlsx), este se crea de acuerdo a la ejecución de la macro y a los datos de A.xlsx

En los dos casos la hoja de trabajo es "hoja1", bueno Dam, en B.xlsx por default sería hoja1, cierto ??

Gracias Dam

Pon la siguiente macro en tu archivo A

Sub Completar_Info()
'Por Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    Set l1 = ThisWorkbook
    Set h1 = l1.Sheets(1)
    Set l2 = Workbooks.Add
    Set h2 = l2.Sheets(1)
    '
    h1.Cells.Copy h2.Range("A1")
    h2.UsedRange.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R1C"
    h2.UsedRange.Copy
    h2.Range("A1").PasteSpecial xlValues
    l2.SaveAs l1.Path & "\" & "archivo B.xlsx"
    l2.Close False
    MsgBox "Archivo B creado"
End Sub

[Sal u dos, no olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas