Macro para automatizar proceso de carga TXT en Excel

Tengo 0 experiencia en Macros y necesito de sus conocimientos para lograr automatizar un proceso. Resulta que en el trabajo de vez en cuando nos piden auditoria de todas las PCs (alrededor de 400). Con especificaciónes de hardware, sistema operativo, usuario actual, nombre de máquina, etc.

Intenté grabar una macro pero no pude obtener el resultado que quiero. El txt exporta la información exactamente como muestro a continuación

Manufacturer=Hewlett-Packard
Model=HP EliteBook 8440p
Name=ARBUEZOG0001
SystemType=x64-based PC
TotalPhysicalMemory=4078759936
UserName=LL\lcastro

Size=250056737280

Name=Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz

SerialNumber=CND0330BVC

--------------------------------------------------------------------------------------------------

Lo que necesito es que se carguen en excel de la siguiente manera. Lo que está a la derecha de cada "=" en columnas y luego el próximo txt debajo por ejemplo

Hewlett-Packard HP EliteBook 8440p ARBUEZOG0001 x64-based PC 4078759936 ETC

Hewlett-Packard HP EliteBook 8440p ARBUEZOG0001 x64-based PC 4078759936 ETC

Hewlett-Packard HP EliteBook 8440p ARBUEZOG0001 x64-based PC 4078759936 ETC

Espero haber sido lo más claro posible. Son muchos txt pero todos se exportan igual.

1 respuesta

Respuesta
1

Me puedes enviar lo siguiente: 2 archivos de txt de ejemplo y tu libro de excel con la carga real de cómo quieres el resultado, ocupando los dato de los 2 archivos txt que me vas a enviar.

Te preparo la macro y te la envío

Saludos. Dante Amor

¡Gracias! Te envié lo que me solicitaste! Mil gracias.

Esta es la macro

Sub cargar_inventario()
'Por.DAM
'Selecciona una carpeta,
'abre cada archivo txt y copia la info en una fila
ruta = ThisWorkbook.Path
Set l1 = ThisWorkbook
Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
With fldr
    .Title = "Selecciona una carpeta"
    .AllowMultiSelect = False
    .InitialFileName = ruta
    If .Show <> -1 Then Exit Sub
    cp = .SelectedItems(1)
End With
Application.ScreenUpdating = False
ChDir cp & "\"
archi = Dir("*.txt")
Do While archi <> ""
    Workbooks.OpenText Filename:=cp & "\" & archi, _
        Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _
        Tab:=True, Semicolon:=False, _
        Comma:=False, Space:=False, _
        Other:=True, OtherChar:="=", _
        FieldInfo:=Array(Array(1, 2), Array(2, 2)), _
        TrailingMinusNumbers:=True
    Set l2 = ActiveWorkbook
    Set h2 = l2.ActiveSheet
    h2.Range("B3:B" & Range("B" & Rows.Count).End(xlUp).Row). _
        SpecialCells(xlCellTypeConstants, 23).Copy
    l1.Activate
    Range("A" & Range("A" & Rows.Count).End(xlUp).Row + 1).PasteSpecial _
        Paste:=xlPasteAll, _
        Operation:=xlNone, _
        SkipBlanks:=False, _
        Transpose:=True
    l2.Close False
    cont = cont + 1
    archi = Dir()
Loop
Application.ScreenUpdating = True
MsgBox "Se cargaron : " & cont & " archivos txt", vbInformation, "CARGA DE INVENTARIO"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas