|
▼☆Nonoka☆ さん:
>返信遅くなって申し訳ありません。
>関数ですとリストが増えるため、効率に限界があります。
限界があるとは、どのくらいの行数ですか?
実際に限界に達しているのですか?
ワークシートのイベント処理についてはこちらを参照。
ht tp://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_event.html
------------
書き方の一例です。
これをSheet1のシートモジュールにコピーペイストしてから、
K列に入力してみてください。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim v As Variant
If Target.Count > 1 Then Exit Sub ' 複数領域が同時に変更されたら終了
' 逆に、複数領域についても対象にしたいなら、
' 繰り返し処理を行います。(応用編はそちらで)
If Target.Column <> 11 Then Exit Sub ' K列以外なら終了
v = Application.VLookup(Target.Value, Worksheets("Sheet2").Range("B:C"), 2, False)
If IsError(v) Then
MsgBox Target.Value & " は見つかりませんでした"
Else
Application.EnableEvents = False
Target.Offset(0, 1).Value = v
Application.EnableEvents = True
End If
End Sub
|
|