Excel VBA:特定のシートだけを保存・読込

このQ&Aのポイント
  • Excel VBAを使用して特定のシートを保存および読み込む方法についての質問です。
  • Sheet1とSheet3のデータは変更しないため、Sheet2のデータのみ保存したい場合、CVS形式で特定のシートだけ保存することは可能でしょうか?また、Sheet1とSheet3のデータに、CVSファイル形式のSheet2のデータを挿入することは可能でしょうか?
  • 質問がわかりにくいかもしれませんが、Excel VBAを使って特定のシートを保存したり読み込んだりする方法について教えてください。
回答を見る
  • ベストアンサー

Excel VBA:特定のシートだけを保存・読込

 Sheet1~Sheet3まであるエクセルのデータを作っています。Sheet1と3は数式などの変更しないデータが入っており、Sheet2は開く度にデータを変えます。1も3もデータが大きいため保存に時間がかかりますので(開くのには時間はそんなにかかりません)、「2だけを保存」したいのですが、特定のシートだけをCVS形式で保存できるのでしょうか。(厳密には入力の度に保存するプログラムを組み込んでいます。) それから、Sheet1と3だけ入った先ほどのデータを開き、その後でCVS形式のSheet2を挟み込むことは出来るでしょうか。  わかりにくい質問になってしまったかも知れませんが、どなたか教えて頂けませんでしょうか。よろしくお願いします。

noname#91219
noname#91219

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

  • ベストアンサー
回答No.1

キー記録で簡単に出来ます。 Sub 保存() Application.DisplayAlerts = False Sheets("Sheet2").Select Sheets("Sheet2").Copy   '保存するファイル名を適当に変えてやってください。 ActiveWorkbook.SaveAs Filename:="Z:\Sheet2.csv", FileFormat:=xlCSV, _ CreateBackup:=False ActiveWindow.Close End Sub Sub 読み込み() Application.DisplayAlerts = False On Error Resume Next Sheets("Sheet2").Delete   '保存されているファイル名を適当に変えてやってください。 Workbooks.Open Filename:="Z:\Sheet2.csv" Sheets("Sheet2").Select Sheets("Sheet2").Move Before:=Workbooks("Book2").Sheets(2) End Sub

noname#91219
質問者

お礼

キー記録という手段がありましたね。ただ1シートだけの読込挿入の方法が分からず・・・。本当に勉強になりました。ありがとうございます。

関連するQ&A

  • エクセル VBA 特定のシートを保存

    エクセルファイルで複数シートがある中で特定のシートのみをボタンを押すことで以下の要件を満たした形で別ファイルとして保存したいと思っていますが、何分VBA初心者の自分にはハードルが高く困っています。どうかお助け下さい。 要件 ①ファイル名はシート名+(セルW5の数値)  セルW5の数値はシート1から飛んできている数式 ②保存先は任意のフォルダーを指定 ③保存後のファイルにはマクロボタンを消去 ④拡張子はxlsx形式で保存 高望みだと思いますがどうぞよろしくお願いします。

  • VBA…CVSを読込&挿入

    エクセルVBAで、ある保存されているシートを現在開いているファイルに挿入(置き換え)することはできませんか? つまり、保存されているCVS形式(ファイル名:Sheet2)のデータを、現在開いているブックのSheet2に置き換えたいのです。可能でしょうか?よろしくお願い致します。

  • エクセルの特定のシートのみを保存するマクロ

    を作成できればと思っています。 このブック内にはたくさんのシートがあります。 毎日データ更新するのですが、そのうち1シートのみ、他の人に送信する必要があるので、たとえば(理想は)編集が済んだ時点で、あるシートに設けたコマンドボタンのようなものをクリックしたときに、その必要な1シートがコピーされて、別のエクセルファイルとして保存されるのが理想です。 マイドキュメント内の、「ファイル」という名前のファイルに保存をしたいと思っています。 今は、必要なシートのシート名をクリックして、コピーを選び、新しいシートを作成して、、、という作業をしています。これを端折ることができないか、と考えております。 なお、このシートを保存するとき、そのシート名は、ある特定のセルの入力値になることが理想です。 というのも、そのマクロが起動するたびに、全く同じ名前で上書き保存されていくのは困りますので、、、 どなたかお詳しい方がいらっしゃいましたらどうぞお願いいたします。

  • エクセルのマクロでアクティブシートをhtml保存

    エクセルのマクロを使って、アクティブシートのみをhtml形式に保存したいと考えています。  ActiveSheet.SaveAs Filename:="ファイルパス", FileFormat:=xlHtml  でhtmlに保存するところまではできたのですが、すべてのシートが出力されてしまいます。 アクティブなシート、あるいは特定のシートのみをhtml形式で保存する方法があればご教示ください。

  • EXCEL VBA シート内の特定のセルに値が入…

    EXCEL VBA シート内の特定のセルに値が入力された際に処理を実行するプログラム EXCELシート内の特定のセルに値が入力された際に処理を実行するプログラムをEXCEL VBAで作成したいと考えています。 EXCELに計測データを取込み、このデータが設定値以外の場合のみ、トリガーを出す様なイメージで使いたいと思います。 どの様に考えれば良いでしょうか?サンプル等ありましたら紹介ください。 上記質問の”トリガー”について補足します。 あるセルに値が入力されたら、マクロを実行するという風にしたいという意味です。 単純にマクロ実行を手動で行うのでは無く、ある値が判定値以外の場合に他アプリケーションを操作したいという意味です。。

  • エクセルでフォームを使って日付を保存しようとしているのですが、なぜかシートに保存された表示形式が違う

    エクセルでフォーム(VBA)を使って日付を保存しているのですが、 保存をした後シートの内容を見ると表示形式が違って保存されている。 保存のときに米暦に直すようにフォーマットをかけているのですが、保存されたデータは、”mm/dd/yy”ではなく、別の形式になってしまっている。 確認した症状としては、たとえば先月のデータであれば、通常に保存されているので今月のデータ(具体的には12/04/06と入力すると形式が、違って保存されてします。 よろしくお願いします。

  • エクセルVBAで困ってます。

    私は今、エクセルVBAで困ってます。 内容はデータを入力したエクセルのシート上で、別のファイル(CSV形式)を開いてある特定の行に入力したデータを参照し、完全に一致した際には、別のファイルの内容をシートに反映させるといったようなことは可能でしょうか? 襲えて下さい。 回答お待ちしています。

  • Excel VBAでシートを保存したい

    特定のシートを名前をつけて保存をしたいです。 その際、保存先は指定し、ファイル名には特定の文字列をいれておいて加筆できる形にしたいです。 どのようなコードにすればよろしいでしょうか? Excel2013です。

  • エクセルの特定のシートのみ、数式を隠すには?

    タイトルの件、質問します。 エクセル2003以下のバージョンで、特定の数式のみ隠す事はできますか? ブックすべての数式は隠せますが、特定のシートの数式が隠せません。 よろしくお願いします。

  • エクセルVBAでの自動ファイル保存

    エクセルVBAを使い入力したシート(ファイル)を、一定のデータが 入力された時点で指定した場所に例えば作成日をファイル名にして自動 的に保存していくようにしたいのですが、プログラムはどのようにすればいいのでしょうか? 実現させたいプログラムは、このような感じにしたいです。 1.VBAで指定シートにデータ入力→2.データ数10個で自動的に日付をファイル名にして自動的に保存→3.更に、データ10個追加された時点で前に作成されたファイルを自動で更新→4.データの入力完了で更に自動で更新 2~4のプログラムをご教授お願いします。

専門家に質問してみよう