左から「名前」、「基本」と2つのシートがあります。
以下のマクロでシート追加ができるのですが、日付が変わっても
シート枚数をカウントしているので、そのまま連続です。
'基本シートの後に追加します
Worksheets.Add After:=Worksheets("基本"), Count:=1
'追加されたシートに名前を付けます
Worksheets(3).Name = Format(Date, "yyyymmdd") & "-" & Worksheets.Count - 2
マクロでシート名に日付と1から追番をつけ、日付が変わると再び1から始めたいのですが 、ここでストップしています。ご教示いただければありがたいです。
No.3
- 回答日時:
おやっ?
同一のブック内に複数の日付にまたがるシートがあって、日付が変わるたびにカウンタを1から付け直していきたい
という要望で良かったですよね?
でしたら先ほどのNo.2のコードを最終記載分の2行修正すれば対応出来ているはずですが・・・
何か不都合がありましたか?
No.2ベストアンサー
- 回答日時:
No.1です
すみません、質問を勘違いしていました
ただ、質問者様の記述だと新規シートは必ず3枚目に来るようになっていますがそれで問題ないですか?一応一番後ろに追加されるパターンでコードを作成してみました
--------------------------------------------------------------------------------
Sub Sample()
Dim objSh As Worksheet
Dim strDte As String
Dim intS As Integer
Worksheets.Add After:=Worksheets(Worksheets.Count), Count:=1
strDte = Format(Date, "yyyymmdd")
intS = 0
For Each objSh In Worksheets
If strDte = Left(objSh.Name, 8) Then
If intS < Int(Mid(objSh.Name, 10, 2)) Then
intS = Mid(objSh.Name, 10, 2)
End If
End If
Next
intS = intS + 1
Worksheets(Worksheets.Count).Name = strDte & "-" & intS
End Sub
--------------------------------------------------------------------------------
もし3枚目を最新ファイルにしたい場合には質問者様の記述の様に変更してください
Worksheets.Add After:=Worksheets(Worksheets.Count), Count:=1
を
Worksheets.Add After:=Worksheets("基本"), Count:=1
と
Worksheets(Worksheets.Count).Name = strDte & "-" & intS
を
Worksheets(3).Name = strDte & "-" & intS
です
お試しください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) vba アクティブシートのA1セルの値を基準に複数のシートコピー&シート名を 6 2023/04/12 18:36
- Excel(エクセル) ②Excel 簡単にシートコピーしたら前日の残高と日付を変更させたい→マクロの記録でエラーが出ます 8 2022/07/16 20:40
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2023/01/20 14:36
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- Visual Basic(VBA) エクセルのマクロコードの一部分を変更する方法について教えてください。 2 2023/02/17 08:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
別シート参照のセルをシート毎...
-
エクセルで前のシートを連続参...
-
VBAでシートコピー後、シート名...
-
シートの保護のあとセルの列、...
-
エクセルで前シートを参照して...
-
EXCELで1ヶ月分の連続した日付...
-
前の(左隣の)シートを連続参...
-
Accessのスプレッドシートエク...
-
エクセルでファイルを開いたと...
-
エクセルでシート名を自動入力...
-
Excel、同じフォルダ内のExcel...
-
【Excel関数】値が合致するセル...
-
EXCELで同一フォーマットのシー...
-
至急お願いします。エクセルシ...
-
Excelの複数ファイルの複数行を...
-
複数シートの固定のセルの値を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
前の(左隣の)シートを連続参...
-
Excelで金銭出納帳。繰越残高を...
-
EXCEL:同じセルへどんどん足し...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで同一フォーマットのシー...
-
エクセルで前のシートを連続参...
-
エクセルで前シートを参照して...
-
VBAでシートコピー後、シート名...
-
Accessのスプレッドシートエク...
-
エクセルのシート名をリスト化...
-
複数シートの特定の位置に連番...
-
Excelのシートを、まとめて表示...
-
エクセル 計算式も入っていない...
-
スプレッドシートの関数VLOOKUP...
おすすめ情報
お問い合わせの通りです。新しいシートは左から3つめに作成するようにしています。「名前を付けます・・・」では、日付は関数で変わりますが、シートをカウントして付加しているため、日付が変わると「1」に戻すでスタックしています。