inputboxではセル番地が指定できず困っています。
EXCEL2000のVBAで、フィルターオプション機能を自動化したいのですが、
抽出先が変動するので、inputboxでセル番地を選択しようとすると、セルを選択することができず、自分で「A1」などと入力すると、きちんとA1に抽出結果が出てくるのですが、自分でセル番地をinputboxに入力するのではなく、マウスでセル番地を指定したいのですが、どのような方法をすればよかったでしょうか?
よろしくお願いします。ちなみ作ったVBAは以下のとおりです。(複数の表から同じ条件で抽出し、inputboxで指定したセル番地に抽出結果を出し、その右側に続けて抽出結果を貼り付けていくという感じで作っています)
Sub 抽出()
Dim Shouhin1 As String
Dim Shouhin2 As String
Dim Shouhin3 As String
Shouhin1 = InputBox("抽出先を指定してください")
Shouhin2 = "d" & Mid(Shouhin1, 2, 5)’二つ目の表の抽出先を指定
Shouhin3 = "g" & Mid(Shouhin1, 2, 5)’3つ目の表の抽出先を指定
Sheets("抽出先").Select
Sheets("データ").Range("A5:c44").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("データ").Range("B1:B2"), CopyToRange:=Range(Shouhin1), _
Unique:=False
Sheets("データ").Select
Sheets("抽出先").Select
Sheets("データ").Range("d5:f44").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("データ").Range("B1:B2"), CopyToRange:=Range(Shouhin2), _
Unique:=False
Sheets("データ").Select
Sheets("抽出先").Select
Sheets("データ").Range("g5:i44").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("データ").Range("B1:B2"), CopyToRange:=Range(Shouhin3), _
Unique:=False
End Sub
補足
回答頂きありがとうございます。 >名前の定義で名前を付けたセルX9をVBAで参照するとか>の意味でしたら >名前という名前を付けた場合 >Worksheets("RAsheet").Range("D8").Value = >Worksheets("RAsheet").Range("名前").Value 上記のように参照元の値のセル番地を名前で定義し、毎回セル番地を書かずに名前で入力したいです。 >この意味がわかりません。何を一括で反映させるのか。 説明不足で申し訳ないです。 最初にセル番地を名前で定義(セット?)し、セル参照時にセル番地の代わりに定義した名前にすることで、参照元のセルが移動した時に最初に定義した箇所のセル番地を変えるだけで他のコードをいじる手間を省きたいです。 質問の意図が分かりにくい場合は、お知らせください。 よろしくお願いいたします。