0

このコードがどこでつまずいているかを把握しようとすると、途方に暮れます。アクティブシートの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

シート名が重複しないようにエラー チェックを追加中です。ただし、フィールド名の性質上、これは発生しません。

すべての洞察に感謝します!

4

1 に答える 1