2017-06-06 9 views
0

このコードを使用しましたが、別のセルに変更しましたが、実行時エラー '1004'を受け取っていますメソッド ' _Worksheet 'に失敗しました。シートの名前は文字列でなければなりません。この各シートのセルの値に基づいてすべてのシートに名前を付けます

Dim ws As Worksheet 
For Each ws In ActiveWorkbook.Worksheets 
ws.Name = ws.Range("FW1") 
Next 
+0

多くの文字があります。シート名には許可されていません。これらがセルにないことを確認してください。空白のセルでもエラーが発生します。 –

+0

すべてのシートには、セルFW1に英数字テキストが入力されています –

+0

提案として、このws.Name = WorksheetFunction.Clean(ws.Range( "FW1")) ' – PeterT

答えて

1

を引き起こしているのかわからそしてあなたがあなたの代わりにこれをしなければならないので、それまでの範囲オブジェクトを割り当てているわけではありません:

ws.Name = ws.Range("FW1").value 
関連する問題