大きなワークシートのタブの名前を各ワークシートのセル値を使用して変更しようとしています。問題は、私は許可されていない同じ名前の複数のタブの名前を変更したいと思います。私は1、2などを追加しても大丈夫ですが、それをどうやって行うかはわかりません。Excelシートの同じ名前のタブの名前を変更
たとえば、3枚のセルの値がOhioの場合、タブはOhio1、Ohio2、Ohio3になります。
各シートの名前はA1の値である必要がありますが、重複する名前を考慮する必要があります。
同じ名前の会計処理せずにそれを行うためのVBAコードは次のとおりです。
Sub Worksheet_SelectionChange()
Dim ws As Worksheet
For Each ws In Sheets
ws.Activate
ActiveSheet.Name = Range("a1").Value
Next ws
End Sub
ありがとう!ただし、最初のシートのA1に基づいてすべての名前が変更されています。それぞれの名前をA1に基づいて自分のシートに付けたいと思います。 – Nechama
私はそのための解決策を更新しました:-)。しかし、今は、これは重複だけでなく、すべての名前の後に数字を入れます。ですから、あなたはインディアナ1、オハイオ2、オハイオ3、インディアナ4、アイオワ5、オハイオ6で終わるかもしれません。 – ale10ander
私は自分の答えを変えました。これはあなたが望むことをするはずです。ここでの奇妙な唯一の動作は、各名前が何回使用されたかを数えず、重複の数を単にカウントすることです。 オハイオ州、インディアナ州、オハイオ州1、アラスカ州、アラスカ州2、アイオワ州、カリフォルニア州、オハイオ州3、インディアナ州4があります。 また、a1が空白の場合、シート名は単に数字になります。 – ale10ander