2

誰かが私が抱えているVBAの問題を手伝ってくれることを願っています。

ユーザーがセルをダブルクリックしたときに、名前付き範囲の値を変更したい。2つのワークシートがあります。セルに値が含まれる最初のワークシートと、名前付き範囲Account_Numberを含む宛先ワークシートです。

これは私のコードです:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    [Account_Number] = ActiveCell.Value 'assign the value to the Named Range

    Range([Account_Number]).Select ' go to the Named Range on the other worksheet

   'Sheets("Transaction Listing_LINKS").Select 'the workaround to the problem below
End Sub

私が期待しているのは、名前付き範囲が入力されて選択されることです。

問題は私が得ることです

「1004エラー:オブジェクト「_Worksheet」のメソッド「範囲」が失敗しました」

セルをダブルクリックするとエラーが発生します。

奇妙なことに、ワークシートを1つだけ使用すると、問題なく機能します。

なぜこれが起こるのか、そしてそれを回避する方法を誰かが私に説明できますか?

私が考えることができる唯一の修正/回避策は、ワークシートの選択をコーディングして、ワークシートに強制的に選択させることです。

ありがとうございました

4

1 に答える 1

2

試す:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  'assign the value to the Named Range
  Sheet2.Range("Account_Number").Value = ActiveCell.Value
  ' go to the Named Range on the other worksheet
  Application.GoTo Reference:="Account_Number" 
 'Sheets("Transaction Listing_LINKS").Select 'the workaround to the problem below
End Sub

もちろん、「Sheet2」を名前付き範囲を含む宛先ワークシート名に変更する必要があります。

于 2012-06-10T03:27:31.270 に答える