
No.4ベストアンサー
- 回答日時:
こんばんは。
「個人用マクロブック」に、クラスモジュールと標準モジュールを挿入して、それぞれを貼り付けて、Excelを再起動してください。
ボタンは、ファイル(F)の中の「上書き保存」とツールバーの「上書き保存」アイコンと両方に設定しました。「名前を付けて保存」のほうは、そのままです。ボタンを押すと、ダイアログメッセージが出てきて、その日付でよいのか、通常の保存と同じようにして、変更されたファイル名が出てきます。日付の書式は、ご自身で直してください。
なお、同系のマクロ(Classを使用したもの)の場合は、なるべく、一本に統合してください。片方のインスタンスがつぶれる可能性があります。
---------------------------------------------------------
標準モジュール
'Option Explicit
Public CtrlId As Long
Private ClassBtn(1) As Class1
Sub Auto_Open()
Call SettingButton
End Sub
Sub SettingButton()
Dim CB As CommandBarButton
With Application
'ファイルメニュー側
Set ClassBtn(0) = New Class1
Set ClassBtn(0).myNewBtn = .CommandBars("Worksheet Menu Bar") _
.Controls("ファイル(&F)").Controls("上書き保存(&S)")
'ツールボタン側
Set ClassBtn(1) = New Class1
Set ClassBtn(1).myNewBtn = .CommandBars("Standard").FindControl(, 3)
End With
End Sub
---------------------------------------------------------
Class モジュール(Class1)
Private WithEvents NewBtn As Office.CommandBarButton
Private WithEvents NewApp As Application
Public Property Set myNewBtn(ByVal myBtn As CommandBarButton)
Set NewBtn = myBtn
End Property
Private Sub NewBtn_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
Dim myDate As String
If CtrlId = 0 Then
myDate = Format$(Date, "yymmdd")
Application.Dialogs(xlDialogSaveAs).Show (myDate)
CancelDefault = True
CtrlId = Ctrl.Index
Else
CtrlId = 0
End If
End Sub
No.2
- 回答日時:
参考HPです。
http://www.geocities.jp/vbaxl/
ブックの
Workbook_BeforeSave
を使用してみてはいかがでしょう?
現在日時は、
Now
で取得できます。
Worksheets("Sheet1").Range("A1").Value = Now
でシート1のA1セルに現在時刻を代入します。
このコードを先ほどの
>Workbook_BeforeSave
に組み込みます。
なお、
Now
で取得する日時のフォーマットは、
Format関数
で変換できます。
No.1
- 回答日時:
「上書き保存」と「名前をつけて保存」の区別はできませんが、保存する前に任意のセルに日付を入力します。
シート名、セルのアドレスは変更して下さいマクロはALT+F11でVBE画面を開き、該当するBookの「ThisWorkBook右クリック」→「コードの表示」で表示される画面に貼り付けて下さい。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Const sh As String = "Sheet1" 'シート名
Const rng As String = "A1" 'セルアドレス
Worksheets(sh).Range(rng).Value = Date
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/08/08 15:45
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 6 2023/03/03 18:05
- Visual Basic(VBA) vbaエクセルマクロについて あるデータを作成し、デスクトップに.xlsx形式で保存するマクロを作成 2 2023/03/02 18:54
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
Excelで、図形内の文字をセルに...
-
エクセルでPDFリンクを大量...
-
エクセル 数字をすべて○などの...
-
Excel ハイパーリンクのURLを別...
-
クリックすると文章が表示され...
-
Excel2007 色のカウント (VBA)
-
Excelでセルをクリックす...
-
マクロを実行すると画像がズレ...
-
空白セルを空セルに置き換える...
-
太字に設定されているセルの個...
-
エクセルでセルをダブルクリッ...
-
セルがクリックされた回数をカ...
-
セルの内容をテキストボックス...
-
エクセルマクロ 赤色の文字を検...
-
アポストロフィーの一括挿入 ...
-
エクセルVBA セルに表示された...
-
エクセルでページ数をあるセル...
-
未記入がある場合はマクロを実...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
Excelで、図形内の文字をセルに...
-
Excelでセルをクリックす...
-
Excel ハイパーリンクのURLを別...
-
太字に設定されているセルの個...
-
マクロを実行すると画像がズレ...
-
セルの内容をテキストボックス...
-
フォントの色を指定して削除出...
-
Excel:セルの値(文字列)を数...
-
Excel2007 色のカウント (VBA)
-
エクセルでPDFリンクを大量...
-
アポストロフィーの一括挿入 ...
-
現在のセルの位置を返す関数は...
-
エクセルでセルをダブルクリッ...
-
空白セルを空セルに置き換える...
-
エクセル シート保護された共...
-
エクセル 未入力セルがあると...
おすすめ情報