2016-10-07 10 views
0

私は固定テーブルを持つスプレッドシートを持っています。私は押すと、このテーブルをCSVファイルにエクスポートするボタンを作成したいと思います。VBAを使用してExcelテーブルをCSVに書き込む

ボタンを作成して次のコードを実装しました。しかし、私がボタンを押すと、ファイルはコンマのみで作成されます(セルからのデータは追加されません)。私は何が欠けていますか?私はVBAに新しいです - ありがとう。

Sub CommandButton21_Click() 

Dim FilePath As String 
Dim CellData As String 

CellData = "" 

FilePath = Application.DefaultFilePath & "\Table.txt" 

Open FilePath For Output As #1 


For i = 30 To 34 

For j = 3 To 7 

CellData = CellData + Trim(ActiveCell(i, j).Value) + "," 

Next j 
Write #1, CellData 

CellData = "" 

Next i 

Close #1 



End Sub 
+0

ActiveCellの代わりにCells(i、j).value – Sorceri

+0

http://www.excel-easy.com/vba/examples/write-data-to-text-file.html –

+0

ありがとうございました。 – Andy

答えて

1

Excelは、シート全体を.csvファイルとして保存します。セルを別々に保存する必要はありません。

それは表形式を維持し、すべての非空のセルを保存します。このコード

Sub CSVfile() 
    ActiveWorkbook.SaveAs Filename:="C:\Users\AlexBor\Documents\my_excel_sheet.csv", _ 
    FileFormat:=xlCSV, CreateBackup:=False 
End Sub 

を使用してください。もちろん、タブ区切りで他のファイル形式.txtを選択することもできます。

+0

いいえ、セルを別々に保存する必要があります。 – Andy

関連する問題