Insertar datos desde texto cambiando puntos por comas Macros Excel

Me gustaría saber si hay un macro que cuando lo ejecute me abra una ventana para seleccionar el archivo de texto que quiero insertar en Excel y que lo inserte en la celda que tengo seleccionada cambiándome los puntos por comas, en vez de tener que hacerlo manualmente dando a obtener datos desde texto-->siguiente-->siguiente-->avanzadas-->cambiar puntos por comas.

1 respuesta

Respuesta
1

Prueba con la siguiente macro

Sub Archivo()
'Por.Dante Amor
    ruta = "C:\trabajo\"
    celda = ActiveCell.Address
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Seleccione archivo txt"
        .Filters.Clear
        .Filters.Add "Archivos txt", "*.txt"
        .AllowMultiSelect = False
        .InitialFileName = ruta
        If Not .Show Then Exit Sub
        arch = .SelectedItems.Item(1)
    End With
    '
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & arch & "", _
        Destination:=Range(celda))
        .Name = "archivo"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1)
        .TextFileThousandsSeparator = ","
        .TextFileDecimalSeparator = "."
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

Cambia en estas líneas los valores que necesitas:

        .TextFileThousandsSeparator = ","
        .TextFileDecimalSeparator = "."

Prueba y me comentas si falta algo.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Hola, muchas gracias por el código, funciona !! pero me gustaría saber si se puede hacer que cada vez que ejecute el macro me salga la última ubicación donde he importado el .txt, ya que siempre abre por defecto la biblioteca de documentos.

Te votaré con un excelente cuando dejemos cerrada la pregunta

Gracias!

Lo más práctico es que te abra la carpeta donde tienes el archivo con la macro.

Cambia esta línea

ruta = "C:\trabajo\"

Por esta:

ruta = thisworkbook.path & "\"

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas