0

私は現在 Excel 2010 を使用しており、このスプレッドシートとコードをこのバージョンで作成しました。私の同僚 (スプレッドシートを使用) は Excel 2007 を使用しています (まだアップグレードされていません)。彼らはエラーメッセージを受け取っていますが、私はそうではありません。

での選択に基づいてComboBox、指定されたセルに「N/A」が入力されるか、空白のまま/空白になるように、次のコードを設定しました。

Private Sub ComboBoxSite6_Change()

If ComboBoxSite6.Value = "N/A" Then
Range("Site6Cells").Select
Selection = "N/A"
Else
If ComboBoxSite6.Value <> "N/A" Then
Range("Site6Cells").Select **This line highlights with the error when debugged
Selection = ""
End If
End If

End Sub

コンボボックスの変更と "N/A" の人口 (またはそうでない) はすべてワークブックの同じシートで発生しているため、問題にはなりません。それでも、「Range...」の各行の前に、Sheets("Site Prep") を追加してみました。これもうまくいきませんでした。

さらに、このコードの前に同じ方法でコーディングされた同じアクションを実行する 5 つの列とコンボボックスがあり、問題は示されていません。

誰が問題が何であるか教えてもらえますか? これは下位互換性の問題ですか?

4

1 に答える 1

0

「Site6Cells」という範囲が正しく存在しないようです。

名前付き範囲は、グローバル (= ワークブック全体のメンバー) またはローカル (= ワークシートのメンバー) のいずれかです。作成した名前付き範囲がローカルのものである場合、それをグローバルなものであるかのように呼び出すことはできません。

Formulas > Name Manager > Scopeというプロパティのリボンでこれを確認してください

これを同僚のそれと比較して、これが異なるかどうかを確認してください。

変更するには、再作成する (古い ane を削除して新しいものを作成する) か、サード パーティのネーム マネージャーを使用するか、VBA を介してスコープを変更する必要があります。

于 2013-04-29T15:30:09.417 に答える