• ベストアンサー

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

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

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

ざっくりとこんな感じかな Sheets("特定のシート").Copy sFileName = Application.GetSaveAsFilename("特定の文字列", FileFilter:="Excelファイル,*.xlsx,すべてのファイル,*.*") ActiveWorkbook.SaveAs Filename:=sFileName 2010でしか確認していません。

oimoita
質問者

お礼

ご回答ありがとうございます。 参考にさせていただきます。

関連するQ&A

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

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

  • (VBA)特定のシートのみを名前を付けて保存

    Excel2003です。 数シートあるうちの特定のシートのみを別のbookとして「名前を付けて保存」する下記のコードを書きました。一応うまく動くのですが、実はこの特定のシートには行の非表示部分があります。しかし、下記のコードではもちろん非表示部分も開かれた状態で保存がされますよね。 この非表示の状態で保存するにはどのようにすればよいのでしょうか? 【以下現在のコードです】 ------------------------------------------------ Sub 名前を付けて保存() '報告書を"名前を付けて保存" Sheets("報告書").Select Dim 既定ファイル名 As String Dim 保存ファイル名 As Variant 既定ファイル名 = "報告書" 保存ファイル名 = Application.GetSaveAsFilename(既定ファイル名, "Excel ブック(*.xls),*.xls") If 保存ファイル名 = False Then MsgBox "保存は中止されました。" Else With ThisWorkbook.ActiveSheet Workbooks.Add .Cells.Copy ActiveSheet.Range("A1") ActiveWorkbook.SaveAs 保存ファイル名, xlNormal ActiveWorkbook.Close False End With Sheets("報告書").Select Range("A1").Select MsgBox "報告書を作成しました。" End If End Sub ----------------------------------------------------

  • エクセルマクロで任意のファイル名をつけて保存したい

     エクセルVBAについての質問です。  エクセルのマクロで、Aというファイルを開いて、そのうち必要なワークシートだけを抽出し、新しいブックに移動し、その新しいブックを新しいブックのsheet1のセルC2の文字列をファイル名として保存するようなマクロをくみたいと思っています。  ファイルを開いて必要なワークシートだけを抽出し、新しいブックに移動するところまではできましたが、新しいブックのセルC2の文字列をファイル名として保存することができません。FNを変数として宣言して、C2の文字列を代入し、FNをファイル名として保存しようとすると、ファイルにFNという名前が付いてしまいます。どうすれば、C2の文字列をファイル名として保存できるのでしょうか。なお、保存するフォルダはc:\変換ファイル\6月です。どなたか教えてください。よろしくお願いします。

  • エクセルVBAでテキストファイルにして保存する方法

    エクセル「Sheet2」のA列、C列、D列にそれぞれ100個の文字列が入力されています。 B列は空欄になっています。 (作業内容) C列とD列のデータを結合して、B列に入力 A1~B100のデータを1つのテキストファイルとして保存する。 ファイル名はその都度指定する。 よろしくお願い申し上げます。

  • エクセルの文字化け

    特定のエクセルのデータを加筆修正してから保存するとファイル名がいきなり化けます。 他のPCで同じエクセルデータを加筆修正しても保存後、文字化けはしません。 どういった理由が考えられるでしょうか・・・?

  • VBAを使い、同一フォルダにあるファイルの特定のシートの情報を取得したい

    はじめまして。 書籍や過去の質問等を調べましたが、類似するものを見つけられなかったため質問させていただきます。 Xというエクセルファイルで、Xと同一フォルダ内にある、ファイル名に特定の文字列(例えば「月報」)を含んだ全てのエクセルファイルの、特定の文字列(例えば「○年○月」)を含んだ全シートの、一定のセル範囲をひとつのシートにまとめたいと思っています。 X内のコマンドボタンで動かす予定ですが、複数のボタンになると自分では思っています(ボタンAでファイル名の取得、ボタンBでシートの取得、ボタンCでセルに貼り付け、みたいな感じで。ボタンの数は特に制限はないです) 要点としては a, 定定の文字列を含んだファイル名の取得 b, aで取得したファイル内の特定の文字列を含んだ全てのシート内の一定のセル範囲の取得(シートの数はファイルによる。必ずしも1つというわけではない。) c. bで取得した一定のセル範囲のデータを、1つのシートにまとめる。 あとはこれらのデータをtxtやcsvなどに出力できるようにするつもりです。 私がやってできたのは、同一フォルダ内にあるファイル名に特定の文字列を含むファイルの全てのファイル名を指定したセルに吐き出すことしかできませんでした。 なんか、ややこしい表現かもしれませんが、ご指導お願いします。 環境はxp、エクセル2003です。 よろしくお願いします。

  • 名を付けて保存のコード(エクセルVBA)

    セルA1に書いてある文字をそのままファイル名にして保存させるコードの記述方法を教えて下さい。 例) A1に 「’001」を入力しておき、シート上に配置してあるコマンドボタンをクリックすることで、「001.xls」と名を付けて、あらかじめ決めてある、ディレクトリに保存 エクセル97を使用しています。上書き保存とか、予めコード内にファイル名を書いておく方法は分かったのですが、セルを参照させる方法が分かりません! どなたか詳しい方、宜しくお願い致します。

  • エクセルVBAシートの複製と、コピーに関して

    以下のようなVBAを使用したいと思っています。 回答.xlsというエクセルファイルに、 回答者233名分の回答が一名一列に並んでいます。 この回答を、一名ずつ違うシートで分析したいと思っています。 その際、下記動作をVBAで行ないたいのですが、うまくいきません。 行ないたい動作は2列目から234列目までの各列に対して、 1,【分析】という名前のシートを複製し、一名一列(A列-AS列)の値を各1列目にコピー 2,コピーしたシートの名前を【分析-x】x=A列目の値とする 以上です。 お忙しいところ大変恐縮ではございますが、ご教授頂けると幸いでございます。

  • エクセル VBA ワークシート作成?

    仕入単価未決とゆうエクセルファイルがドライブDにあり このファイルを開いて元データーファイルとする。 このファイルのA列にはコード        B列には仕入先名        C列には品番        D列には品名 などが入力されております。 このファイルを仕入単価決定書とゆう名前のファイルの 決定書原紙とゆうワークシートに作成したフォーム内の テキストボックス1で仕入単価未決のファイルを選択し コマンドボタンをクリックしたら コード=仕入先名(B列)でワークシートを作成し 各仕入先(コード)ごとに各データーが入力されるように したいのですが、どのように行えばいいでしょうか? 文章は長いですが、説明が不足しておりましたら 指摘の程宜しくお願いいたします。

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

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

専門家に質問してみよう