• ベストアンサー

1つのブックにある複数のシートをCSV形式で保存

1つのブックに100シートほどあり、 それぞれのシートごとに「America」「Japan」などの 名前がついています。 各々のシートをmydocumentの"data"というフォルダに CSV形式で保存したいと考えています。 名前は、それぞれのシートに付いているAmericaやJapanなどで保存したいと考えています。 自身でチャレンジしてみましたが、うまい具合に いきません。 for-nextステートメントなどを用いて どなたか、VBAで素早くこの作業を行える方法をご存知の 方はいらっしゃいませんでしょうか。ご教示願います。

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

  • ベストアンサー
  • moon_piyo
  • ベストアンサー率60% (88/146)
回答No.1

こんちは、ん~こんな感じですか Sub foo() For Each ws In ActiveWorkbook.Worksheets ws.SaveAs Filename:="c:\My Documents\data\" & ws.Name, FileFormat:=xlCSV Next End Sub

hunter_paul
質問者

お礼

ありがとうございます。 早速、試してみたところ、いとも簡単に できました。作業効率が大幅に上がり、 本当に助かりました。

関連するQ&A

  • エクセルでシートを新規Bookにコピーして保存

    いつもお世話になっております。 毎回お世話になっております。 過去にも似たような質問をさせていただいてその時々の要求は解決しているのですが、悲しいかな各々のVBAが組み合わせられません。(というレベルです) やりたいことは、特定のBookのアクティブシートを別の新規BookのSheet1にコピーして数値で貼り付ける。➣ここまではできました。 問題はこの、新規Bookを指定のセル(D5とA1)の内容をファイル名にして指定のフォルダに保存する。が出来ません。 1.新規BookでVBAを動かしたいのですが、複数のPCで使う時にどこに記録するのかわかりません。 2.コピーして数値で貼り付けから保存までのVBAは元のシートから直接(1回の操作)でも、新規Book1を表示させてからの操作でもどちらでも良いです。 3.Book1を保存するファイル形式はVBAが含まれないxlsxが好ましいです。(メールで送信するので)

  • エクセル:VBAで自動的にCSV形式で保存について

    複数のシートからなるエクセルブックから、決まった一つのシートを CSV形式で保存するマクロを作成しております。 その際、CSV化するシートは他のシートの値を参照し、数値が""、 もしくは"0"の場合は、表示しないとする数式が1000行まであります。 これは、CSVで保存した際に、無用なデータを含めないようにと 考えたものですが、下記VBAを作りCSV化し保存したファイルは、確かに 数値がある行のみ表示しているものの、データ量が重くなってしまいます。 Application.DisplayAlerts = False Application.Dialogs(xlDialogSaveAs).Show arg1:=MyFile, arg2:=6 この作成されたCSVをあらためて、「名前を付けて保存」でCSVで保存し、 「~には、CSV(カンマ区切り)と互換性のない機能が含まれている可能性 があります。この形式で保存しますか?・・・」の所で、「はい」を選択 すると、データ量が大変少ない量で保存できます。 おそらく、マクロで作成したCSVは、その「互換性のない機能」が含まれて いるのであろうと思いますが、必要としているのは値のデータのみです。 この「互換性のない機能」を省いてCSVで保存する方法をどなたか教えて いただけないでしょうか? 分かりにくい文章で申し訳ありませんが宜しくお願い致します。

  • 複数のCSVファイルを読み込んで複数シートを1ブックとしたい

    始めまして。 VBA初心者です。 2枚のCSVファイルをダイアログで各々指定し、保存する2枚のシートを1ブックにまとめたいのですが、うまくいきません。 現状は以下のようなマクロですが、別々のシートとなります。 よろしくお願い致します。 Sub 選択されたPDPファイルを開いて読み込む() With Application.FileDialog(msoFileDialogOpen) .Title = "ファイルを選択して[OK]ボタンをクリックしてください" .AllowMultiSelect = False '複数選択不可 .Filters.Clear .Filters.Add "1枚目", "*.csv", 1 If .Show = -1 Then .Execute 'キャンセルでなければ開く End With With Application.FileDialog(msoFileDialogOpen) .Title = "2つめのファイルを選択して[OK]ボタンをクリックしてください" .AllowMultiSelect = False '複数選択不可 .Filters.Clear .Filters.Add "2枚目", "*.csv", 1 If .Show = -1 Then .Execute 'キャンセルでなければ開く End With End Sub

  • CSV形式の保存

    ハガキソフトの住所録をCSV形式で保存しました。 保存したファイルを開いて編集して保存しようとすると 「CSVと互換性のない機能が含まれている可能性があります。  このブック形式で保存しますかと聞いて来て  このまま保存~はい  機能を保存 ~いいえ  を選んで最新のファイル形式で保存しなさい。」 と表示されますが、いずれの場合も変更したファイルが保存 されませんが、何か方法がありましたらご指南ください。 宜しくお願いします。

  • エクセルでシート名のCSV形式ファイルの一括複数保存

    エクセルで編集した複数のシートをそれぞれのシート名でCSV形式ファイルとして保存するにはシートを開いてはファイル名を指定してCSVで保存という操作をシート分だけしなければならないのですが、これを少ない操作で行う事は可能でしょうか。たとえばシートを複数選択して、CSV形式だけを選択して一括で保存するとかです。

  • csvをVBAを使ってエクセル形式で保存したい

    タイトルのとおりなのですが、csvをVBAを使ってエクセル形式で保存したいのですが、その際ひとつ条件がありまして作成するエクセルファイルをcsvと同じ名前にしたいと思っています。  csvのファイル名は都度変わってしまうため私の現在の知識ではVBAを作成することができません。  教えて下さい。よろしくお願いします。

  • エクセル 様々なデスクトップにCSV保存

    初めまして、 この度、利用しますよろしくお願いします。 件名ですが、今現在エクセル2010を使用中でありまして、VBAについて質問させていただきます。 シートが、8種類ありまして、その内に1つにシートを新規なBOOKにCSV形式で私自身のデスクトップでわ無く、様々な社員が自宅、その他場所でのPCのデスクトップに保存したいと思っています、またCSV方式で保存しますとメッセージボックスが、何回か出てくると思いますが、そのメッセージボックス、も不必要です。 VBAは全然理解していない初心者ですがよろしくお願いします。

  • VBAでブック内のワークシートを名前をつけて保存

    エクセルVBAで作業中のブックの一部のワークシート(2枚)を名前をつけて保存する方法を教えてください。 (例)  《ブックA》  sheet1 sheet2     sheet3 10/5     10個 10,000円    4個 25,000円 東京     25個 18,500円    6個 42,000円 というブックから『10/5 東京』というブックでsheet2,sheet3の内容を 保存したいのですが・・・ VBAは勉強し始めでほとんどわからないので教えてください。

  • エクセル複数シートCSVファイル名に時間を付ける

    みなさま、お世話になります エクセルVBAの超初心者なので色々この場所で調べたりして勉強しております。 しかしながら、どうもうまくいきませんので ご指導ご教授よろしくお願いします。 1つのBOOKに4つのシートがあり、それぞれ異なる情報が書き込まれます。そのうち最後のひとつ初期設定シートなので、保存しなくてよいです。 後の、3枚のシートだけをCSV形式にて保存したいのですが、保存するときに、シート名+日付+時間の形式にて保存を行いたいのです。 色々調べて Flname="c:\"+CStr(Format(date,"yymmdd"))で日付は出来るのですが その前後のシート名取り込みと時間を付ける方法が分かりません 一日に数回同じものを保存して比較して、経歴を残していきたいと考えています。 よろしくお願いします。

  • ExcelのCSV形式で保存する必要性について

    テキストデータをExcelでカンマ区切りで開いてExcelのCSV形式で保存すると、見た目はエクセルとなんらかわらず、集計等できるものの、書式等が保持されない状態で保存されるものと理解しています。 それであれば、なにもCSVでなくExcelブック形式で保存した方が良いように思いますが、敢えてExcelのCSV形式で保存する理由、あるいは必要性について教えてください。

専門家に質問してみよう