選択した範囲をTSV出力(タブ区切りテキスト出力)したい
Excelで、特定の範囲をタブ区切りのTXTファイルに出力し
他アプリケーションへインポートさせたいケースがあります。
下記のようにActiveSheetや、すべてのシートをTSVエクスポートするケースだけではなく、
シートの作成上、一部分だけCSV出力させたいケースもあるかと思います。
「全シートを タブ区切りテキストで保存する処理」をパーツ化する。【エクセルマクロ】
「ActiveSheetをタブ区切りのテキストで出力保存する」をパーツ化する。【VBAマクロ】
範囲選択した部分(Range)をTSVファイルとして出力するマクロは以下です。
選択した範囲のCSV出力サンプルコード
'■現在開いているシートをCSVデータで保存する
Public Sub call_RangeSaveTSV()
Dim fPath As String
Dim fName As String
Dim rng As Range
'■現在開いているブック情報をファイル名にするため、変数に格納
fPath = ActiveWorkbook.Path & "\"
fName = Left(ActiveWorkbook.Name, InStrRev(ActiveWorkbook.Name, ".")) & "csv"
Application.DisplayAlerts = False
'■現在選択しているセル情報をrngに格納
Set rng = Selection
'■新規ブック作成→rngをA1にコピー→TSV保存→CSV閉じる
Workbooks.Add
rng.Copy ActiveSheet.Range("A1")
ActiveWorkbook.SaveAs Filename:=fPath & ws.Name, FileFormat:=xlText
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
[/vbnet]注意点
- 保存先のファイルが既に存在してた場合は、強制的に上書きします。



コメント