- 締切済み
Excelシート1シートのみを指定フォルダへ保存
Excelのシート1のみを、本日の日付と名前の入ったセル(I7)を保存する時の名前にして指定したフォルダへ保存したいと思っています。 1、シートは本日の日付+I7セルに入っている値を名前にする。 2、フォルダはCではなくV:\○○\○○\○○\○○\○○\○○\○○に格納 3、シート1以外のシート2、シート3は保存せず閉じる 4、格納後○○に保存しました。と表示 試行錯誤し、下記のように記述してみたのですが、 Sub Macro1() 'Option Explicit Sub Sample() Dim xSheet As Worksheet Dim myFile As String Dim myName As String Set xSheet = ActiveSheet ThisWorkbook.Worksheets("シート名").Copy 'myName = ActiveWorkbook.Worksheets(1).Name 'myFile = ThisWorkbook.Path & "\" & myName & ".xls" myFile = ThisWorkbook.Path & "\" & xSheet.Range("I7").Value & ".xls" Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:=myFile Application.DisplayAlerts = True ActiveWorkbook.Close End Sub 日付を指定して保存 Sub test() Dim Filename As String Filename = Format(Date, "yyyy年mm月dd日") & ".xls" ActiveWorkbook.SaveAs "C:\My Documents\" & Filename End Sub 日付とI7セルの名前を合せてブックの名前としたい場合どうVBEで記述すればいいのかわからないので詳しい方がおられましたら、 よろしくお願いいたします。 あまり詳しくないので、そのままコピーできるか、○○の部分を指定フォルダ名に変えてください。等の注釈を付けていただけると助かります。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mt2008
- ベストアンサー率52% (885/1701)
処理の流れは以下の様になっています。 1.1枚目のシートだけで新規ブックを作成 2.今日の日付とセルI7の値で新しいブック名を付けて保存終了 3.メッセージを表示 4.元のブックを保存せずに終了 Sub Sample() Sheets(1).Copy sNewName = Format(Now, "yyyy年mm月dd日") & Range("I7") ActiveWorkbook.SaveAs Filename:="V:\○○\○○\○○\○○\○○\○○\○○\" & sNewName ActiveWindow.Close MsgBox "○○に保存しました" 'ここから下は、元ブックを保存せずに終了する処理 ThisWorkbook.Saved = True Application.Quit '←Excelを終了しなくても良い場合は削る ThisWorkbook.Close False End Sub
お礼
お礼が遅くなりました。 大変うまくいきました。 有難うございます!!!