top of page

VBA Code to Write Selected Cell Range to File


Tonight's tip is on an Excel macro you can use to copy a selected range directly to a text file, or more specifically a batch file.

In this example, you can see that I have some code for the Windows XCOPY command which will copy four PDFs from one folder to another. I have selected the lines I want to save to a batch file that I can run from the destination folder.

In Visual Basic I have inputted the VBA code found on this site, http://stackoverflow.com/questions/19688269/copy-a-range-selection-to-text-file

I changed the code posted to stackoverflow on the line currently reading:

oFile.Write c.Value & vbCrLf

from: oFile.Write c.Value & " "

. . . so a line break would be added between the selected cells rather than a space. The updated code is posted below. You may need to delete the spaces in front of the oFile.Write c.Value & vbCrLf line and add a tab. The Wix editor converts tabs to spaces.

The macro will successfully generate a batch file, that you can then double-click and run.

Sub writeCells() Dim strPath As String Dim strName As String Dim FSO As Object Dim oFile As Object Dim c As Range

strName = "test.bat" strPath = "C:\foofolder3\"

Set FSO = CreateObject("Scripting.FileSystemObject")

Set oFile = FSO.CreateTextFile(strPath & strName)

For Each c In Selection

oFile.Write c.Value & vbCrLf Next c

oFile.Close

End Sub


Sean O'Shea has more than 20 years of experience in the litigation support field with major law firms in New York and San Francisco.   He is an ACEDS Certified eDiscovery Specialist and a Relativity Certified Administrator.

​

The views expressed in this blog are those of the owner and do not reflect the views or opinions of the owner’s employer.

​

If you have a question or comment about this blog, please make a submission using the form to the right. 

Your details were sent successfully!

© 2015 by Sean O'Shea . Proudly created with Wix.com

bottom of page