
No.2ベストアンサー
- 回答日時:
こんにちは。
ExcelブックをCSV形式で保存するにはSaveAsメソッドの保存ファイル名のあとに","で区切り、"xlCSV"のファイル形式を指定すれば行うことができます(自動的にカンマ区切りになります)。書式は下記の通りです。
ActiveWorkbook.SaveAs("ファイル名.csv",xlCSV)
また、特定の文字を別の文字に変換する場合ですが、正直マクロより手でやったほうが早いのですが、どうしても、と言うことであれば、下記のマクロで行うことができます。
Sub 置換マクロ()
OpenText("CSVファイル名")
Cells.Replace What:="置換前の文字", _
Replacement:="置換後の文字", _
LookAt:=xlPart, SearchOrder :=xlByRows, _
MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
ActiveWorkbook.SaveAs("CSVファイル名",xlCSV)
これでうまくいかなかったと言うことでしょうか。
そうでなければ試してみてください。
早速のご回答ありがとうございました。同じくCSV形式で保存するために「Sub マクロ()~End Sub」の中に記述すると「コンパイルエラー 構文エラー」と表示されうまくいきませんでした。初心者のためどこか基本的なことがわかっていないようでご迷惑をおかけします。また、Sub 置換マクロ()についても上記のコードの下に付けると、一旦CSV形式に変換して、更にそのCSVファイルの特定の文字を置き換えることが出来るのでしょうか?
No.4
- 回答日時:
No.1の補足です。
後半の置き換えの件ですが、出力した後にCSVファイルの特定の
文字の置き換えができるかということでしょうか?
それなら標準では無理です。
VBScriptなどで自分でロジックを作るか、下記のようなフリーソフトを
使用すれば可能です。
http://www.vector.co.jp/soft/win95/util/se271454 …
ありがとうございます。ご紹介いただいたフリーソフトは勉強してみたいと思います。今回は、出来れば簡単なコードがあればそちらを使ってみたいと思います。何を行いたいかと言うと、エクセル形式で入力専用のシートに最小限のデータ(例:8桁の西暦)を入力させ、別シートに関数を活用してあるべきデータの形(例:元号を和暦の6桁)に変えて、必要な列数だけを選択して、一旦CSV形式(全列にカンマが振られる)に出力させて、特定の行の空白列にも振られた余分なカンマを削除(置換による方法を検討)して保存したいと考えています。そうすればCSV形式のファイルがシステムに取り込むことが出来るためでです。ややこしい言い回しで申し訳ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Visual Basic(VBA) VBAで出力したCSVファイルの先頭にカンマを挿入したい 5 2022/10/14 12:20
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのプロパティーでセキ...
-
ExcelブックをGoogleスプレッド...
-
実行時エラー52
-
photoshop CC2019で画像の形式...
-
Wordで差込印刷した後に別々の...
-
エクセルの保存履歴を残す方法
-
サブフォルダから部分一致のエ...
-
ワード+エクセルのマクロ
-
エクセルvbaでdocuworksprinter...
-
同じファイル名 上書きしないフ...
-
Windows10でコマンドプロンプト...
-
エクセルで複数のコメントのサ...
-
バッチファイル 別ファイルにリ...
-
Tabctl32.ocxについて
-
csvファイル 項目数取得
-
frxファイルの役目
-
複数選択フォルダの配列への格納
-
バッチファイル XCOPYで上書き...
-
VBAでフォルダ内のhtmlファイル...
-
VBA フォルダの複数選択ができない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのプロパティーでセキ...
-
ファイルのアクセス回数について
-
ExcelブックをGoogleスプレッド...
-
Wordで差込印刷した後に別々の...
-
Excel csv保存 列数が異なる場...
-
マクロ実行後、表示がおかしくなる
-
エクセル UserForm 呼び出しで...
-
エクセルファイル名に更新日時...
-
EXCEL 検索時の設定
-
サブフォルダから部分一致のエ...
-
PowerPoint 2002でファイル名を...
-
【Excel VBA】ファイルを保存し...
-
大量のCSVファイルをExcel形式...
-
複数のexcelのファイルを一括で...
-
実行時エラー52
-
エクセルのマクロで行と列の削...
-
For~Nextルーチンで最初の1回...
-
エクセルでcsvファイルを開いて...
-
VBAでエクセルで作成したフ...
-
Word2010で閉じるボタン押下後...
おすすめ情報