VBA初心者です。
EXCEL2007を使っています。
いま、下記のような書き方で、
1.セル(A1)をダブルクリックしたら「Z:\管理\01.xlsx」を開く
2.セル(A2)をダブルクリックしたら「Z:\管理\02.xlsx」を開く
・
・
・
n.セル(An)をダブルクリックしたら「「Z:\管理\0n.xlsx」を開く
という動きをしたいと考えています。
わからないまま、WEBサイトで見つけた書き方を下記のように書き換えて試してみました。
一つではうまくいきますが、二つ目の設定をすると・・・
添付画像のように、「コンパイルエラー 名前が適切ではありません」と出てしまいます。
WEBで調べた限りでは、
「Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)」
の部分が同じ名前がエラーの原因のように思えますが、どうしてよいかわかりません。
よろしくお願いします。
--------------------------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address <> "$A$1" Then Exit Sub
Cancel = True
ChDir "Z:\管理\"
Workbooks.Open Filename:="Z:\管理\01.xlsx"
End Sub
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address <> "$A$2" Then Exit Sub
Cancel = True
ChDir "Z:\管理\"
Workbooks.Open Filename:="Z:\管理\02.xlsx"
End Sub
「Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)」
を2度記述しているからエラーです。
1つにまとめればOKです。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
’A1:A100以外をクリックするとコード終了
If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub
Cancel = True
'ChDir "Z:\管理\" 'OPENメソッドをフルパスで指定するなら、不要
Workbooks.Open Filename:="Z:\管理\" & Format(Target.Row, "00") & ".xlsx"
End Sub
補足
早速のご回答ありがとうございます。 設定できました。 大変、助かりました。 厚かましいですが… ご教示いただいた方法では行番号と同じファイル名(A11だと11.xlsx)になってしまうので できれば、 1.その行の"あるセルのデータ"と同じ名前のファイルを開く 2.行番号から(A11の場合は15.xlsxとか7.xlsx)のように行番号データから幾つか増減した値のファイル名を指定する。 か、どちらか(若しくは両方ご教示いただければ幸いですが…)で行いたいと思います。 すいませんが、よろしくお願いします。