• ベストアンサー

VBAを利用したCSV出力

現在エクセル2003のVBAを使用して、シートの内容をcsvファイルに出力するマクロを作成しています。 Sheet1にこのマクロを動作させるボタンがあり、Sheet2の内容を出力したいと考えています。 しかし、ネットで探したところ、ほとんどのものが、Sheet1も内容を出力するマクロで、Sheet2の内容の出力の仕方がわかりません。 どなたかマクロの書き方、もしくはサンプルコードのあるサイトなどご存知の方がいらっしゃったっら教えていただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.2

csvファイルに出力するシートをアクティブまたはセレクトする1行を入れてみてはいかがでしょう。 Sheets("Sheet2").Select '以下保存マクロ

hitoshi1010
質問者

お礼

おかげさまでできました。ありがとうございます。 ただ、セレクトをいれることによって画面遷移が発生していまうのがたまにきずですね。

その他の回答 (2)

回答No.3

今使っているマクロを書き込んでもらった方が詳しい回答が得られると思いますよ。 ソース中で見られたくないようなコード(何かのユーザ名だったりとか、パスワードだったりとか)は略すとか、少し修正するとかしてくださいね。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>ほとんどのものが、Sheet1も内容を出力するマクロで、Sheet2の内容の出力の仕方がわかりません。 シートを指定すればいくらでも応用出来ると思いますが? コードを見ないと何ともいえませんが、Sheets("xxxxxx").Activate とか・・・。

関連するQ&A

  • VBAマクロでCSV出力

    はじめまして、よろしくお願いします。 ExcelのVBAマクロで 特定のセルの範囲を「シート名.csv」で出力するようなプログラムを書きたいです。 例)シート名「TEST」内にあるマクロボタンを押すと  A1:A10のセルの内容が「TEST.csv」(アスキー形式ならなんでも)  に出力される。 どういうやり方があるか、お勧めのサイト等、 ご教授いただけないでしょうか? 以上、よろしくお願いいたします。

  • エクセルVBAでCSVを読み込んで別ファイルにまとめたいです。

    エクセルVBA初心者の者です。 マクロの記録でできたコードをいじって、 なんとか動くものができるレベルです。 Aというフォルダに20~40行程度の内容のCSVファイルが 数百個あります。開けてみないと何行あるのかわかりません。 そのAフォルダのCSVの内容をエクセルで開いて、別のエクセルファイルの一枚のシートにまとめたいのです。 最初にCSVファイル名を一枚のシートのA列に書き出すところ まではやれたのですが、それを順番に読み込んでコピペの 流れができません。 CSVファイル名読み込み 読み込んだファイル1つめCSV開く CSVの20~40行をコピー 別のエクセルファイルのシートに貼り付け 1つめCSV閉じる ↓ 読み込んだファイル2つめCSV開く 繰り返し こういうやり方じゃない方がいいのかもわかりません。 もしかして考え方も違うのでしょうか? サンプルコード教えていただけるとありがたいです。 よろしくお願いします。

  • フィルター可視データのCSV出力について

    いつも助けてもらっています。 EXCELのVBAにて、 タイトル等の不要な行を削除した上で、 データが入っている行全てをCSVファイルに出力する マクロを作って使っています。 全件をそのままCSVファイルに出力するのは問題ないのですが、 オートフィルター(手操作)にてヒットしたデータのみを CSVファイルに出力したいです。 ネットでいろいろと調べると、 可視データを他のシートにコピーして・・・やる、 というやり方しか見つかりませんが、 他のシートにコピーしないで行う方法はないですか? (マクロで実行する場合です) もし可能であるならば・・・ コードの記述でなくても、 こんなやり方・・・とか、 どこか参考になる情報でもリンクしてもらえると 助かります。 よろしくお願い致します。

  • Excel2000~2003でUTF-8BOM出力

    お世話になります。 Excel2000~2003ファイルで、 (現在、Excel2000ファイルを受け取って、  Excel2007上で互換モードとしてVBA作成中) で、ワークシート内容を、 「UTF-8のBOM付き」で、 VBAで、 (出来ましたらFSOを利用して) CSV出力する方法が知りたいです。 ネット上を探すとCSV出力する方法は、 いろいろありましたが、 サンプルを試しに動かして出力されたCSVファイルの 文字エンコードはShift-JISでした。 以上になります。 よろしくお願いします。

  • EXCELからCSVファイルの出力方法について

    EXCELについて質問です。 エクセルのシートに入力した内容をCSVファイルで出力したいです。 当方の希望としまして、いくつかあるシートの中で、希望のシートだけCSVファイルを出力し、出力する際は「CSVファイルを出力」のようなボタンをクリックすれば、CSVファイルが出力されるものです。 初心者ですので、できるだけ詳しく教えて頂きたいです。

  • エクセル(VBA)にて、CSVファイルを自動的に読み込むマクロ。

    aaa.csvというcsvファイルがあるとします。 そこで、 エクセルのあるシートにボタンを用意して、マクロを登録し、そのボタンを押すと、sheetという名前のシートへ一発入力(インポート)するようにしたいのです。 マクロをいじったりしましたが、だめです。 よろしければ、上記のような動作をするためのソースを簡単に提供いただけないでしょうか? *マクロの記録は使いたくないです・・・。 すみませんが、よろしくお願いいたします。

  • Excelシートを分割してcsvに出力するVBA

    すいませんが、ご教示願います。 パソコンExcelのVBAです。 Excelファイルシートの24,000行あるデータを、 任意に選択した範囲(例えば2行目から3,000行目)をcsvデータに出力する VBA構文が知りたいです。 どなたかおわかりになりますでしょうか。

  • EXCEL VBAでのCSV出力について

    EXCELに入力されたデータをCSV出力するプログラムを作成しました。データには日付が入っており年月日がYYYY/MM/DDの形で入力されています。これをハンド作業で名前をつけて保存でCSVに出力すると年月日はそのままの状態で保存されますが、VBAで保存するとMM/DD/YYYYの形になってしまいます。この状態で保存されると、次にEXCELで読み出すと年月日が文字列扱いになってしまいます。新しいマクロの記録で行っても結果は同じでした。 VBAで保存する際、YYYY/MM/DDで保存する方法はないでしょうか。 また、MM/DD/YYYYで保存されたCSVを日付としてEXCELに認識させる方法はあるでしょうか。 教えてください。よろしくお願いします。

  • CSV出力に関して

    パソコンで「CSV出力が完了しました」と表示が出ているのに、データがどこにも反映されていません。 CSV出力した内容を、Excelのシートに移したいのですが、どのような手順で行えば良いのでしょうか?

  • エクセルVBA CSVファイル出力について

    エクセルVBAでCSVファイル出力マクロを作成しています。 本を参考にして作成したのですが、日付のセルで 2007/7/22 8:29:45と記入させているのが #2007-07-22 08:29:45#と言う形で出力 されてしまいます。 そのまま「2007/7/22 8:29:45」と出力させるには どのようにしたらいいのでしょうか? 出力したデーターを基にアクセスに取り込んでデーター ベースにしようと思っているのですが、「#」がある ため、そのまま、時刻関数で取り込めないもので 困っています。 コードは以下のように書いてあります。 Sub WriteCsv() Dim myTxtFile As String, myFNo As Integer Dim myLastRow As Long, i As Long Dim ShName As String Application.ScreenUpdating = False ShName = ActiveSheet.Name myTxtFile = ActiveWorkbook.Path & "\" & ShName & ".csv" myLastRow = Range("A1").CurrentRegion.Rows.Count myFNo = FreeFile Open myTxtFile For Output As #myFNo For i = 1 To myLastRow Write #myFNo, Cells(i, 1), Cells(i, 2), Cells(i, 3) Next Close #myFNo MsgBox "このシートを元に「" & ShName & ".csv」を作成しました" End Sub 宜しくお願いいたします。

専門家に質問してみよう