- ベストアンサー
エクセルファイルをCSVファイルに変換する方法
初歩的な質問ですいません。 時間のある方教えてください。 今、エクセルで保存しているものをCSVファイルへ変換するマクロを教えていただきたいのですが、 たとえばマクロを実行すると waka.xlsというファイルが、 waka.csv になるというだけなのですが、よく分からないので よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ふつうは、記録マクロで十分なのですが、一般的なコードとなると、このようなものになりますね。 貼り付ける場所は、どこでもよいのですが、一応、"<標準モジュール>"でお願いします。 Alt + F 11 で、VBE画面を開けたら、挿入-標準モジュールで、出てきた画面に以下を貼り付けて、Alt+F11で閉じます。後は、フォーム・ボタンにでもつけると便利だと思います。このマクロは、CSVファイル側は、閉じてしまいますので、出来たかどうかは、エキスプローラやExcelメニューのファイルから調べてみてください。 '--------------------------------- Sub MakingCSV() Dim Fname As String Fname = ActiveWorkbook.Name Fname = Mid$(Fname, 1, InStrRev(Fname, ".xls") - 1) & ".csv" ThisWorkbook.ActiveSheet.Copy Application.DisplayAlerts = False With ActiveWorkbook .SaveAs Filename:=Fname, _ FileFormat:=xlCSV, _ CreateBackup:=False .Close False End With Application.DisplayAlerts = True End Sub
その他の回答 (4)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >Desktopに保存ができればというのがニーズです。 つい、うっかり気が付かなくて、すみません Const myPath As String = "○○\" ここの部分を、実際のフォルダ名に直してください。 Sub MakingCSV2() Dim Fname As String '設定:注意 行末は、必ず「\」を入れてください。 Const myPath As String = "C:\Documents and Settings\[ Users]\デスクトップ\" Fname = ActiveWorkbook.Name Fname = Mid$(Fname, 1, InStrRev(Fname, ".xls") - 1) & ".csv" ThisWorkbook.ActiveSheet.Copy Application.DisplayAlerts = False With ActiveWorkbook .SaveAs Filename:=myPath & Fname, _ FileFormat:=xlCSV, _ CreateBackup:=False .Close False End With Application.DisplayAlerts = True End Sub
お礼
ありがとうございます!
- sero
- ベストアンサー率47% (916/1944)
エクセルファイルをドラッグ&ドロップするだけでCSV化してくれるのが簡単で良いのでは?
お礼
確かにそうなのですが・・・ 他の人の要望もあり・・・ ありがとうございました。
- kokorone
- ベストアンサー率38% (417/1093)
参照URLが理解できるレベルに達して いないのなら、諦めたほうがいいでしょう。
お礼
ありがとうございます。 たくさんのってますね。 半分くらいわからないので勉強します。
- char2nd
- ベストアンサー率34% (2685/7757)
わざわざマクロを作らなくても、 「名前を付けて保存」→「ファイルの種類」でCSVを選択 でいいのでは?
お礼
ありがとうございます。 おっしゃるとおりです。
お礼
ありがとうございます! すばらしいです。 うまくいきました。 ありがとうございました。
補足
すいません、一点だけ 今回CSVファイルは自分のMydocumentに入ったのですが、その部分を指示している部分はどこなのでしょうか? というよりはDesktopに保存ができればというのがニーズです。 よろしくお願いします。