ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   vba to append to a text file (https://www.excelbanter.com/excel-programming/404060-vba-append-text-file.html)

hccatmo

vba to append to a text file
 
I have cells like these:
A2
A3
A4
....
A54
which are not all 53 char in length.
I'd like to append only the content of A2 to A54 that is 53 char in length
to a text file.
Thx.
cg

Rick Rothstein \(MVP - VB\)

vba to append to a text file
 
This code should do what you want...

Sub AppendText53()
Dim X As Long
Dim FF As Long
Dim Rnge As Range
Dim FileName As String
FileName = "C:\TEMP\Test.txt"
FF = FreeFile()
Open FileName For Append As #FF
For Each Rnge In Range("A2:A54")
If Len(Rnge.Value) = 53 Then Print #FF, Rnge.Value
Next
Close #FF
End Sub

Place it in the code window for the sheet you want to run it from and change the example filename I used to the filename of the actual file you want to append to. Of course, as you should always do with code you get from others, test it out on a sample file before applying it to your real file.

Rick


"hccatmo" wrote in message ...
I have cells like these:
A2
A3
A4
...
A54
which are not all 53 char in length.
I'd like to append only the content of A2 to A54 that is 53 char in length
to a text file.
Thx.
cg


hccatmo

vba to append to a text file
 
Thanks, Rick. I forget to mention that I'd like to have a new line for each
cell content.
Will try and keep you posted.
cg

"Rick Rothstein (MVP - VB)" wrote:

This code should do what you want...

Sub AppendText53()
Dim X As Long
Dim FF As Long
Dim Rnge As Range
Dim FileName As String
FileName = "C:\TEMP\Test.txt"
FF = FreeFile()
Open FileName For Append As #FF
For Each Rnge In Range("A2:A54")
If Len(Rnge.Value) = 53 Then Print #FF, Rnge.Value
Next
Close #FF
End Sub

Place it in the code window for the sheet you want to run it from and change the example filename I used to the filename of the actual file you want to append to. Of course, as you should always do with code you get from others, test it out on a sample file before applying it to your real file.

Rick


"hccatmo" wrote in message ...
I have cells like these:
A2
A3
A4
...
A54
which are not all 53 char in length.
I'd like to append only the content of A2 to A54 that is 53 char in length
to a text file.
Thx.
cg



JP[_4_]

vba to append to a text file
 
I think you would change it to

If Len(Rnge.Value) = 53 Then Print #FF, Rnge.Value, ""

but let's see if anyone else is able to assist.


HTH,
JP

On Jan 11, 8:08*am, hccatmo wrote:
Thanks, Rick. I forget to mention that I'd like to have a new line for each
cell content.
Will try and keep you posted.
cg

"Rick Rothstein (MVP - VB)" wrote:



This code should do what you want...


Sub AppendText53()
* Dim X As Long
* Dim FF As Long
* Dim Rnge As Range
* Dim FileName As String
* FileName = "C:\TEMP\Test.txt"
* FF = FreeFile()
* Open FileName For Append As #FF
* For Each Rnge In Range("A2:A54")
* * If Len(Rnge.Value) = 53 Then Print #FF, Rnge.Value
* Next
* Close #FF
End Sub


Place it in the code window for the sheet you want to run it from and change the example filename I used to the filename of the actual file you want to append to. Of course, as you should always do with code you get from others, test it out on a sample file before applying it to your real file.


Rick


"hccatmo" wrote in ...
I have cells like these:
A2
A3
A4
...
A54
which are not all 53 char in length.
I'd like to append only the content of A2 to A54 that is 53 char in length
to a text file.
Thx.
cg- Hide quoted text -


- Show quoted text -



Rick Rothstein \(MVP - VB\)

vba to append to a text file
 
I assumed that... the code I posted already puts each cell's content onto it own line in the file it is appending to.

Rick


"hccatmo" wrote in message ...
Thanks, Rick. I forget to mention that I'd like to have a new line for each
cell content.
Will try and keep you posted.
cg

"Rick Rothstein (MVP - VB)" wrote:

This code should do what you want...

Sub AppendText53()
Dim X As Long
Dim FF As Long
Dim Rnge As Range
Dim FileName As String
FileName = "C:\TEMP\Test.txt"
FF = FreeFile()
Open FileName For Append As #FF
For Each Rnge In Range("A2:A54")
If Len(Rnge.Value) = 53 Then Print #FF, Rnge.Value
Next
Close #FF
End Sub

Place it in the code window for the sheet you want to run it from and change the example filename I used to the filename of the actual file you want to append to. Of course, as you should always do with code you get from others, test it out on a sample file before applying it to your real file.

Rick


"hccatmo" wrote in message ...
I have cells like these:
A2
A3
A4
...
A54
which are not all 53 char in length.
I'd like to append only the content of A2 to A54 that is 53 char in length
to a text file.
Thx.
cg



hccatmo

vba to append to a text file
 
It works well, as expected. Thx. cg

"Rick Rothstein (MVP - VB)" wrote:

This code should do what you want...

Sub AppendText53()
Dim X As Long
Dim FF As Long
Dim Rnge As Range
Dim FileName As String
FileName = "C:\TEMP\Test.txt"
FF = FreeFile()
Open FileName For Append As #FF
For Each Rnge In Range("A2:A54")
If Len(Rnge.Value) = 53 Then Print #FF, Rnge.Value
Next
Close #FF
End Sub

Place it in the code window for the sheet you want to run it from and change the example filename I used to the filename of the actual file you want to append to. Of course, as you should always do with code you get from others, test it out on a sample file before applying it to your real file.

Rick


"hccatmo" wrote in message ...
I have cells like these:
A2
A3
A4
...
A54
which are not all 53 char in length.
I'd like to append only the content of A2 to A54 that is 53 char in length
to a text file.
Thx.
cg




All times are GMT +1. The time now is 08:58 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com