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