| 
    
     |  | 別案です。 
 1.B〜D列を一時的に非表示
 2.A2:E100の範囲をクリップボードへCopy
 3.クリップボードから取り出し
 4.B〜D列を再表示
 5.クリップボードから取り出したテキスト上の
 タブ区切りをカンマ区切りに置換して、
 ファイル出力
 といった手順ではいかがでしょう。
 
 
 'Microsoft Forms 2.0 Object Library を参照設定
 (手動での参照設定が面倒なら一時的にユーザーフォームを追加→解放でも可)
 Sub Sample()
 Dim myDir As String
 Dim myFname As String
 Dim buf As String
 Dim fn As Integer
 
 'デスクトップのパス
 myDir = CreateObject("WScript.Shell").SpecialFolders("Desktop")
 'ファイル名の指定
 myFname = myDir & "\" & "TEST.csv"
 With Worksheets(1)
 .Columns("B:D").Hidden = True
 .Range("A2:E100").Copy
 With New DataObject
 .GetFromClipboard
 buf = .GetText
 Application.CutCopyMode = False
 End With
 .Columns("B:D").Hidden = False
 End With
 
 fn = FreeFile()
 Open myFname For Output As #fn
 Print #fn, Replace(buf, vbTab, ",");
 Close #fn
 End Sub
 
 |  |