このコードがどこでつまずいているかを把握しようとすると、途方に暮れます。アクティブシートの2つの範囲の連結といくつかの静的テキストを使用して、アクティブシートの名前を変更しようとしています。ワークブックにワークシートが 1 つしかない場合、コードはうまく機能します。2 番目のワークシートが追加されるとすぐに、ランタイム エラー 1004 が発生します。壊れているコード行を強調表示します。このコードは現在、通常のモジュールにあります。
Option Explicit
Sub updateName()
Dim fNumber
Dim pCheckNumber
Dim asName As String
Dim tempASName As String
Dim worksheetName As Object
If ActiveSheet.Name = "Launch Page" Then Exit Sub
fNumber = ActiveSheet.Range("FlightNumber").Value
pCheckNumber = ActiveSheet.Range("PerformanceCheckNumber").Value
If fNumber <> "" And pCheckNumber <> "" Then
tempASName = "Flight " & fNumber & " | Run " & pCheckNumber & " (0.0%)"
asName = tempASName
MsgBox ActiveSheet.Name & vbCr & asName
ActiveSheet.Name = asName
worksheetName.Caption = asName
Else
Exit Sub
End If
End Sub
シート名が重複しないようにエラー チェックを追加中です。ただし、フィールド名の性質上、これは発生しません。
すべての洞察に感謝します!