Ads By Google
VBAで入力規則を設定したいのですが、うまくいきません・・・
指定している範囲のセルに値が入った時にイベントが起きるようにしています。 値が入ると他のシートよりコピーをしてきて5列はなれたところから1列飛ばしで23列まででそこから5行に入力規則を入れます。
その入力規則の通常の手作業の場合「元の値」にINDIRECT関数をいれて値をターゲットから3つずれたセルを参照したいのですがうまく出来ません。
ご教示いただけないでしょうか???
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column = 3 And Target.Row >= 77 And Target.Row <= 65536 Then
If Target.Value <> "" Then
Worksheets("Sheet2").Range("A1:Z5").Copy Target.Offset(5, -1)
For i = 5 To 9
For k = 5 To 23 Step 2
Target.Offset(i, k).Validation.Add Type:=xlValidateList, Formula1:="=INDIRECT(target.offset(0,3))"
'絶対にこんなやり方では無いですよね・・・?
Next
Next
End If
End If
End Sub
2009-01-30 00:46の質問
この質問と回答を読んで役に立った場合は「役に立つ質問」に投票してください。投票が多い質問は、役に立つ質問一覧に掲載され、より多くの人に見てもらうことができます。
回答(1)
1.
2009-01-30 03:18:33

実際に試してないので自信なしですが・、
"=INDIRECT(target.offset(0,3))"の部分
"=INDIRECT(""" & Target.Offset(0.3).Address & """)"
にすればいいんじゃないかと思います。
自信度 : 自信なし 回答レベル : アドバイス
ありがとうございます
Ads By Google
コメント
まだコメントがありません




