アプリ版:「スタンプのみでお礼する」機能のリリースについて

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で記述すればいいのかわからないので詳しい方がおられましたら、
よろしくお願いいたします。

あまり詳しくないので、そのままコピーできるか、○○の部分を指定フォルダ名に変えてください。等の注釈を付けていただけると助かります。

A 回答 (1件)

処理の流れは以下の様になっています。


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
    • good
    • 0
この回答へのお礼

お礼が遅くなりました。

大変うまくいきました。

有難うございます!!!

お礼日時:2013/12/10 15:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!