Página 1 de 1

Gravar dados em arquivo de texto. Problema com Sep. e aspas.

Enviado: 06 Mai 2016 às 11:05
por johnnyb
Olá a todos,

Encontrei em um site um código que é mais ou menos o que eu preciso fazer e estou adaptando-o. Porém estou tendo algumas dificuldades com o código VBA.

O código funciona da seguinte maneira:

1- Eu faço uma seleção e clico no botão "WRITE DATA TO TEXT FILE".
Imagem


2- É salvo então um arquivo txt com a seleção.
Imagem


3- Porém os resultados apresentados não são exatamente da maneira que eu desejava.
Necessito que as separações entre as colunas sejam feitas por ; ao invés de , e que não apareçam esses " " entre os caracteres de texto. Já realizei algumas pesquisas na internet e tentei trabalhar no código, porém não consegui. Será que vocês poderiam me ajudar??
O arquivo desejado deve ficar assim:
Imagem



Segue o código:

Private Sub CommandButton1_Click()

Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer

myFile = Application.GetSaveAsFilename(InitialFileName:=vbNullString, FileFilter:="Text Files (*.data),*.data")
Set rng = Selection

Open myFile For Output As #1

For i = 1 To rng.Rows.Count
For j = 1 To rng.Columns.Count
cellValue = rng.Cells(i, j).Value

If j = rng.Columns.Count Then
Write #1, cellValue
Else
Write #1, cellValue;
End If
Next j
Next i

Close #1

End Sub




código original baixado em: http://www.excel-easy.com/vba/examples/ ... -file.html

Desde já agradeço a todos!

Re: Gravar dados em arquivo de texto. Problema com Sep. e as

Enviado: 07 Mai 2016 às 10:49
por Reinaldo
Experimente assim:
Código: Selecionar todos
Sub CommandButton1_Click()
Dim myFile As String, cellValue As String
Dim rng As Range
Dim i As Integer, j As Integer

myFile = Application.GetSaveAsFilename(InitialFileName:=vbNullString, FileFilter:="Text Files (*.data),*.data")
Set rng = Selection

Open myFile For Output As #1

For i = 1 To rng.Rows.Count
    For j = 1 To rng.Columns.Count
        If j = 1 Then
            cellValue = rng.Cells(i, j).Value
        Else
            cellValue = cellValue & ";" & rng.Cells(i, j).Value
        End If
    Next j
    Print #1, cellValue
Next i

Close #1

End Sub

Gravar dados em arquivo de texto. Problema com Sep. e aspas.

Enviado: 12 Mai 2016 às 14:20
por johnnyb
Muito obrigado! Funcionou perfeito!
Aproveitando, gostaria de saber como faço para que o números sejam apresentados com o PONTO ao invés de VIRGULA.
Exemplo 46.2747 e não 46,2747.

Gravar dados em arquivo de texto. Problema com Sep. e aspas.

Enviado: 12 Mai 2016 às 17:01
por Reinaldo
Não entendi, pode postar seu modelo

Re: Gravar dados em arquivo de texto. Problema com Sep. e as

Enviado: 13 Mai 2016 às 08:53
por johnnyb
Resolvido! Obg!