2017-04-27 9 views
0

私は別のワークシートに範囲を参照する必要があるので、私はWorksheet_changeイベントを使用しますが以下のエラー1004がコードで取得している - - Worksheet_Changeを使用して、他のワークシートの範囲を参照ここVBA - エラー1004

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim inputSheetName As String 
    Dim dataSheetName As String 
    inputSheetName = Range("Selected_State").Worksheet.Name 
    dataSheetName = Range("Selected_City").Worksheet.Name 
End Sub 

をレンジ - "Selected_State"はSheet1の範囲であり、 " 範囲 - " Selected_CityはSheet2の範囲です

答えて

1

範囲は常に特定のワークシートの範囲内です。

Range("Selected_State") 

Excelは、この範囲がアクティブなシートであるとみなします。

ThisWorkbook.Names("Selected_State").RefersToRange.Worksheet.Name 

注:これは名前だけがあれば動作しますが、名前付き範囲は、あなたがこれを使用する必要がありますされてワークシートしたかを知りたいのであれば

ActiveSheet.Range("Selected_State") 

:それはこのようにまったく同じですワークブックのスコープ内にありますが、ワークシートのスコープ内ではありません。したがって、その名前を見つけるためにすべてのワークシートをループする必要があります。

+0

ありがとうございます。今すぐアクセスできます。 –

+0

@VinayChhabraこの問題の解決策として受け入れることを検討して、他のユーザーに解決されていると分かるかもしれません。 [回答を受け入れる:どのように動作するのですか?](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)を参照してください。 –

関連する問題