2nd attempt ...
Code
Private Sub CommandButton1_Click()
Dim rg As Range, c As Range, i As Long, j As Long
Dim FName As String, sTemp As String
Dim fSys As Object, fStream As Object
Set fSys = CreateObject("Scripting.FileSystemObject")
FName = Application.GetSaveAsFilename(InitialFileName:=(ActiveSheet.Name), FileFilter:="Text Files (*.txt), *.txt")
Set fStream = fSys.CreateTextFile(FName, True)
Set rg = Selection.CurrentRegion
For i = 2 To rg.Rows.Count
For j = 1 To rg.Columns.Count
Set c = rg.Cells(i, j)
If Columns(c.Column).Hidden = False Then
sTemp = sTemp & c.Value & ","
End If
Next j
fStream.WriteLine Left(sTemp, Len(sTemp) - 1)
sTemp = vbNullString
Next i
fStream.Close
Set fStream = Nothing
Set fSys = Nothing
End Sub
Display More