エクセルのシート1枚だけ保存する方法とは?

このQ&Aのポイント
  • エクセルのシート1枚だけを別ファイルに保存する方法を教えてください。
  • シート1にはイメージコントロールが3個あり、画像も入れ替わりますが、式は入っていません。
  • ファイル名は帳票の個別名称を使用しますので重複はしません。
回答を見る
  • ベストアンサー

エクセルのシート1枚だけ保存するマクロ

いつもお世話になります。 エクセルのシート1枚だけを別ファイルに保存したいのです。 過去ログを見て、そのサブをモジュールに貼り付けて試しているのですが、うまく行きません。 アドバイスをお願いします。 状況は以下の通りです。 シート1に帳票のフォーマットを作成してあります。 シート2にデータが並んでいます。 シート2のデータを順番にシート1に表示して印刷するマクロは作成しました。ただセルの値をコピーするだけなので単純です。 そのシート1だけを保存したいのです。 Sheet1.SaveAs (ファイル名) だとブック全体が保存されてしまいます。 ワークブックの保存になっていてもいいのですが、内容はシート1だけを保存したいのです。 シート1にはイメージコントロールが3個あり、画像も入れ替わりますが、式は入っていません。 ファイル名は帳票の個別名称を使用しますので重複はしません。 シート名にしなければならない場合でも処置できます。 皆様の助言をお願いいたします。 エクセル2003を使用しています。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

マクロの記録でできるでしょう。ほかに考慮することは、名前やフォルダは前もってInputBoxで聞けばよい。 操作 保存したいシートのタブ部で右クリック 移動またはコピー コピーを作成するにチェックを入れる 移動先ブック名 新しいブック OK 保存しますか はい 「名前をつけて保存」のウィンドウが出る ブックの名前を入力 保存をクリック ーーー コードは Sub Macro1() Sheets("Sheet1").Select Sheets("Sheet1").Copy ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\xxxx\My Documents\Bookxx.xls", FileFormat:=xlNormal _ , Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False ActiveWindow.Close End Sub

kopepe
質問者

お礼

ありがとうございました。 記載していただいたコードのファイル名を、サブの引数で指定して連続保存も可能になりました。 6000枚ほど作成する必要があったので、大変助かりました。 またこんな機会がありましたら、その時もよろしくお願いいたします。

その他の回答 (1)

  • nekotaru
  • ベストアンサー率50% (22/44)
回答No.1

いつもお世話になります。 教えてください。 機能を実現したいマクロは、そのシート1だけを保存したBOOKに作っていいのでしょうか?

kopepe
質問者

お礼

ありがとうございました。 買い物に行っている間に2の方の回答で解決がつきました。 ときどき質問していますので、またそんな時はよろしくお願いいたします。

関連するQ&A

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

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

  • Perlでエクセルの「名前をつけて保存」ダイアログを表示する方法を教えてください

    PerlのWin32::OLEモジュールを使用してMS-Excelファイルを作成しています。 作成したExcelファイルを $book->SaveAs("ファイル名");のように記述して保存はできるのですが、 「名前を付けて保存」ダイアログボックスを表示して保存先を指定できるようにしたいのですが可能でしょうか? VBAでは、「Application.GetSaveAsFilename」で表示できるようですが、PerlのWin32::OLEモジュールでも同じように表示出来ないでしょうか?

  • Excelのシート→ブック

    Excelのシート→ブック Excelに複数のシートがある状態です。 そのシートを個別のファイル名=シート名で一発で個別のブックにする方法はありますか?

  • エクセル2007 マクロについて教えてください

    エクセルのデータが2個あります。 それぞれ、ファイル名は 顧客データ.xlsと個別シート.xlsです。 顧客データ.xlsには、10名のお客様の情報があり、A1セルには ID番号 と入力してあり、 A2~A11セルにID番号が入力されています。 『個別シート.xlsにマクロで顧客データ.xlsのデータをコピーし、ID番号のフォルダをデスクトップに新規作成し、ID番号を付けて保存する』マクロを作成中です。 顧客番号が1234のお客様のデータを、個別シートにコピーし、デスクトップに1234というフォルダを新規作成し、その中に 個別シート_1234.xls というファイル名で保存をしたいです。 顧客データを自動でコピーするまではできましたが、それ以降ができません。 MkDir "C:\ Documents and Settings\xxx\デスクトップ\nknk\ID " ChDir "C:\ Documents and Settings\xxxi\デスクトップ\nknk\ID " ActiveWorkbook.SaveAs Filename:="個別シート_" & ID & ".xls" ActiveWorkbook.Close マクロを実行すると『実行時エラー76:パスが見つかりません』とエラーになります。 (フォルダ作成の命令文のところが黄色くなります。) ちなみに、個別シートの指定したセルに、IDはコピーされています。 正しく実行できる文を教えてください。また、以降の命令文は正しいでしょうか。 よろしくお願いします。  

  • エクセル:シートを保存するマクロ

    あるエクセルファイルFile.xls内に、4つのシートSheet1,Sheet2,Sheet3,Sheet4があるとして、 4つのシートを個別にcsvファイルとして保存するようなマクロを作りたいです。 ▼ソースです  (ここまでのコードで、Pathに保存先のディレクトリ名を取得する部分があるとお考えください)  Filename = "Sheet1" '保存するシート名は、Sheet1~4 GoSub Save1 Filename = "Sheet2" GoSub Save1 Filename = "Sheet3" GoSub Save1 Filename = "Sheet4" GoSub Save1 '保存完了後は、File.xls内Sheet1のCells(4, 1)にカーソルを配置。 Sheets("Sheet1").Select Cells(4, 1).Select Exit Sub Save1: Sheets(Filename).Select fname = Path & "\" & Filename & ".csv" ActiveWorkbook.SaveAs Filename:=fname, FileFormat:=xlCSV, CreateBackup:=False Return End Sub 以上のソースで実行すると、 指定したディレクトリにsheet1.csv、sheet2.csv、sheet3.csv、sheet4.csvの4ファイルができます。 ここまでは問題ないのですが、 マクロを実行後、Sheet4.csv(最後に保存したファイル)が開かれた状態になってしまいます。 しかも、ファイル名はSheet4.csvなのに、シートSheet1~4を持っている状態です。 普通にSheet4.csvファイルを開くと、シートはSheet4しかありません。 状態が伝わるでしょうか? File.xlsのマクロを実行しているので、実行完了後もFile.xlsを開いておきたいのですが、 どのような記述を加えればよいでしょうか? マクロ(VBA)は使い始めたばかりなので説明されても理解できないかもしれませんが、 できればよろしくお願いいたします。

  • EXCELの複数シートをそれぞれ別ブックへ保存したい

    EXCEL97を使用しています。 1つのブック内に複数のシート(10~20枚)があります。 これを全て1シートずつの別のブックに分けて保存をするマクロを作成したいのですが、できますでしょうか? できれば各シート内の(A4)に入力されている文字列を各ブックの名前として使用したいのですが・・・。 (各シートのセルA4の値に重複はありません) 現在は各シートを新しいブックにコピーして名前を付けて保存、の作業をシート数分繰り返しています。 すみませんがよろしくお願いいたします。

  • エクセル2007を使用しています。

    エクセル2007を使用しています。 VBAを利用して作成する帳票が数百枚有ります。 データシートの他に、別シート(帳票)があります。 データシートのIDを順番に帳票シートに入れ、vlookupで参照して印刷。 これを繰り返す処理で印刷をしております。 今後、別のブックを作成して、1枚のシートに上から順番に帳票を貼り付けていこうかと考えています。 全ての帳票が縦に並んだシートを新しいブックに作成してから印刷処理に入る予定。 (データや帳票が有るブックではなく、新しいブックに全帳票を保存させるのが目的です。) 1枚の帳票は55行程度です。(横は50列程度) 200枚分貼り付けると縦に11000行(横は50列程度)を使用するデータになります。 この処理をする場合の方法についての御相談です。 別ブックのシートに直接1つずつ帳票を貼り付け処理をするのがよいのでしょうか? それともデータや帳票の有るブックに、一時的なシートを作成して、 一時的シートを完成させてから別ブックのシートに移した方が良いのでしょうか? いずれにせよ「切り取り」と「貼り付け」が結構な数になりそうです。 少しでも処理時間が短く、スムーズな方法にしたいので教えて下さい!

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

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

  • エクセルシートをファイル名+シート名で保存したい

    エクセルのブック内にある複数のシートを分割して保存するとき ブック名+シート名.xlsx とファイル名を付けて保存する方法があれば教えていただけないでしょうか。 よろしくお願いします。

  • エクセルのマクロを使ってシートごとに名前をつけて保存したい

    マクロ初心者です。宜しくお願いします。 1つのブックにシートが複数あります。 それぞれシートをコピーして新しいブックを作成し そのブックに名前をつけて保存したいです。 例えばブック名が「売上管理」でそのシートが「A店」「B店」「C店」と3シートあるとします。 シート名:A店を他のブックにコピーしてマイドキュメントに名前を付けて 保存する場合のマクロを教えてください。 ちなみにその際のブック名は「シート名+任意のセル(D2)」と できれば一番助かります。 ちなみにD2のセルにはToday関数が入ってます。

専門家に質問してみよう