ホテルを選ぶとき、これだけは譲れない条件TOP3は?

シートの名前の変更(一括)
例えば、4月・5月・6月と1年分を簡単に変更する方法を教えてください

A 回答 (3件)

こんにちは。



>シートの名前の変更(一括)

ご質問の場合は、シート名を付けるというなら、一般のマクロでも出来ますが、シート名の変更ですと、状況によって、マクロでないとかなり面倒な作業になるかもしれません。以下はマクロでは一括して行えますが、手作業だと、場合によっては倍の作業をしなくてはなりませんから、場合によって、24シート(たぶん)を変更しなければならないはずです。

以下の場合は、エラーが出るたびに、名前を一旦別名に変更して、シート順に、名称を変更し続けています。


Sub SheetNames()
 Dim i As Integer
 Dim newShName As String
 Const START_MONTH As Integer = 4 '最初の月は?

'入力月とシート数のチェック
 If START_MONTH > 12 Or START_MONTH < 1 Then Exit Sub
 If Worksheets.Count < 12 Then
  Worksheets.Add After:=Worksheets(Worksheets.Count), Count:=(12 - Worksheets.Count)
 End If
 
 On Error GoTo ErrHandler
 For i = 1 To 12
  newShName = (START_MONTH + i - 2) Mod 12 + 1 & "月"
  Worksheets(i).Name = newShName
 Next i
 Exit Sub
ErrHandler:
 Worksheets(newShName).Name = "Temp" & CStr(i)
 Resume
End Sub
    • good
    • 0

VBAを使うとできます。



○Sheet1~Sheet12を1月~12月にする
Sub Sample1()
Dim i As Integer

For i = 1 To 12
Worksheets("Sheet" & i).Name = i & "月"
Next i
End Sub

○Sheet1~Sheet12を4月~3月にする
Sub Sample2()
Dim i As Integer

For i = 1 To 12
Worksheets("Sheet" & i).Name = i + 3 + 12 * (i > 9) & "月"
Next i
End Sub
    • good
    • 0

標準ではそのような機能は無かったと思います。



マクロで可能な気もしますが、マクロは詳しくないので定かではありません。
と、言うか・・・マクロを書いているあいだに名前の変更を終えられるような気がしますので
ひとつずつ書き換えることをお奨めします。たかだかシート12個ですしね。
    • good
    • 0

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


おすすめ情報