[[20200113115625]] 『シート名を連番にしたい』(どん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シート名を連番にしたい』(どん)

シート名を連番にしたいです。

VBA初心者です。

調べて下記のマクロを入れたのですが、必ず1からの連番になってしまいます。

=================================
こういう作業には、VBA(Visual Basic for Applicatios)でマクロを作るのが一番です。

▼シート名を連番にするマクロ
Sub すべてのシートを連番にする()

 Dim i As Long
 
 For i = 1 To Sheets.Count
  Sheets(i).Name = "シート" & i
 Next i

End Sub
上記のマクロを実行すると、ワークシートもグラフシートも含めて、すべてのシートの名称が「シート1」「シート2」のようになります。

単純に数字だけのシート名にしたいのであれば、
  Sheets(i).Name = "シート" & i
の部分を
  Sheets(i).Name = i
としてください。
===================================

先頭のシートの番号から連番にしたいです。

例えば先頭のシートが101だったら、101からの連番にしたいです。

手前のシートの数字+1みたいな関数を入れたいのですがよくわかりません。
教えていただけるとありがたいです。

よろしくお願いいたします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


1つ目は名前を取得
それ以外は連番を記入だから、
IFで条件分岐したらいかがでしょう?

Sub test()

    Dim i As Long, j As Long

    For i = 1 To Worksheets.Count
        If i = 1 Then
            j = Worksheets(i).Name
        Else
            j = j + 1
            Worksheets(i).Name = j
        End If
    Next
End Sub
(まっつわん) 2020/01/13(月) 12:36

できました!

これで作業が楽になります。

ありがとうございました。
(どん) 2020/01/13(月) 12:58


解決してるようですけど、深く悩まず【2】シート目から、前のシートの名前に1を加算すればよかったりしませんか?
    Sub 実験()
        Dim i As Long

        Stop '←ブレークポイントの代わり

        For i = 2 To Worksheets.Count
            Worksheets(i).Name = Worksheets(i - 1).Name + 1
        Next i
    End Sub

(もこな2) 2020/01/13(月) 14:03


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.