A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
#02です
VBAは久方ぶりだったのでミスしました。4行目は
nmSheet = Format(Date + 1, "YYYY-MM-DD")
が正しいです。
すみません
No.3
- 回答日時:
>コピーしたシートの日付を明日の設定する。
どういう意味?
シート名に日付文字列を入れたいのか?
ブックには作成日付などあるが、シートには無い。セルの値を日付を入れたいのか。
しっかり質問内容を表現してください・
シートの名前のことなら下記のコードを実行すればわかるだろう。
Sub test01()
MsgBox Date
MsgBox Date + 1
MsgBox Format(Date + 1, "yymmdd")
a = #12/31/2009#
MsgBox a
MsgBox a + 1
MsgBox Format(a + 1, "yymmdd")
End Sub
わざと年末の例も挙げておいた。
シートの何処かのセルの値のことなら、やはり上記で判るだろう。
>過去のシートを開いても日付を変えたくない
これも可笑しな表現。
将来そのシートを見てもその日に変わらない、というべき。
マクロでセルの値を設定すれば(関数と違って)セルの値は変わらないよ。
ただしイベントプロシージャ(自動実行)の中でDateを使うと、将来その日に変わる。
>コピー元のシートを"原本"という名前にしてます
何の関係があるのかな。
コピー元のシート名と、コピー先のシート名は関係ないはず。
関係持たせたいなら、質問に層初めから書くこと。
ーーー
明日の名前のシートを自分が指定するVBAの中で作るなら
Sub test02()
Worksheets.Add.Name = Format(Date + 1, "yymmdd")
End Sub
これで良いのか。
ーーー
しかし挿入の操作の都度ということになると難しい。
シートを挿入するとき
ThisWorkookのイベントの
Private Sub Workbook_NewSheet(ByVal Sh As Object)
MsgBox "AAA"
End Sub
は反応するが、シートの移動またはコピーのコピーでは反応しないようだ。
だから別途コピー以下をボタンのクリックイベントなどで、自分のコードで面倒を見ないと(記述し実行しないと)ダメかもしれない。操作者がシートをコピーしたとき、というイベントがエクセルに無い。
No.2
- 回答日時:
とりあえず新しいブックに「原本」という名前のシートを作成して、以下のマクロを実行してみてください。
「原本」シートを複写して、シート名が「実行した日+1」のシートを作成しますが、既に同名のシートがある場合は何もしません。
もし解釈が違っていたらごめんなさい。
Sub Macro1()
Dim nmSheet As String
Dim idx As Integer
nmSheet = Format(today + 1, "YYYY-MM-DD")
For idx = 1 To ThisWorkbook.Worksheets.Count
If Worksheets(idx).Name = nmSheet Then Exit Sub
Next idx
Worksheets("原本").Copy after:=Worksheets("原本")
ActiveSheet.Name = nmSheet
End Sub
ただしシート数が多くなったときなどのエラー処理は組み込んでいませんから、ずっと使っているとエラーになる可能性はあります。
エラー処理は必要に応じて適宜組み込んでください。
No.1
- 回答日時:
質問内容がよくわかりません。
>1、コピーしたシートの日付を明日の設定する。
シートの日付というのはシート名ということでしょうか?
単純にDate+1にすれば明日の日付が取得できると思うのですが・・・
>2、過去のシートを開いても日付を変えたくない。
どうしてシートを開くと日付が変わってしまうのでしょうか?
現在どのようなマクロが設定されていて、どの部分が問題になっているのか、ポイントを絞って、シート構成やセル位置などを含め、できる限り具体的に質問するようにして下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Excel(エクセル) Excel シート複数 金額日計表と日付 簡単にシートコピーしたら前日の残高と日付を変更させたい 1 2022/07/15 22:10
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) Excelについて 1 2023/03/06 10:26
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルVBAでパスの¥マークに...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
エクセルで前のシートを連続参...
-
Excelで同じシートのコピーを一...
-
EXCEL:同じセルへどんどん足し...
-
エクセル 計算式も入っていない...
-
別シート参照のセルをシート毎...
-
シートの保護のあとセルの列、...
-
エクセルでファイルを開いたと...
-
エクセルでファイル保存時に複...
-
別シートの最終行に貼り付けす...
-
エクセル計算式解説
-
エクセルで複数設定したハイパーリンク先...
-
特定のシートの削除を禁止した...
-
excelでシート毎の最終更新日を...
-
エクセルのシート名をリスト化...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
Excelで同じシートのコピーを一...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
EXCEL:同じセルへどんどん足し...
-
エクセルでファイルを開いたと...
-
エクセルVBAでパスの¥マークに...
-
Excelで金銭出納帳。繰越残高を...
-
前の(左隣の)シートを連続参...
-
EXCELで1ヶ月分の連続した日付...
-
Excel VBについての質問です。
-
複数シートの特定の位置に連番...
-
エクセルで前のシートを連続参...
-
特定のシートの削除を禁止した...
-
エクセルで前シートを参照して...
-
Accessのスプレッドシートエク...
-
Excel、同じフォルダ内のExcel...
-
excelでシート毎の最終更新日を...
-
Excelのシートを、まとめて表示...
-
EXCELで同一フォーマットのシー...
おすすめ情報