|    | 
     別案です。 
 
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 
 | 
     
    
   |