|
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myPoint As String
Dim ws As Worksheet, ws_d As Worksheet
Dim r As Range 'FIND用
Dim i As Long
Set ws_d = Worksheets("data")
Set ws = Worksheets("ストレス判定")
If Target.Address = Range("AW2").Address Then
myPoint = Target.Value 'ポイント
'ポイントをもとに、dataシートのリストを検索
Set r = ws_d.Range("B2:Y2").Find(myPoint, LookIn:=xlValues, LookAt:=xlWhole)
'リストに見つからないとき
If r Is Nothing Then
MsgBox "無効な値です"
Exit Sub
End If
i = r.Offset(1).Value '図形位置
ws.Shapes("仕事").Top = ws.Range("AV5").Top
'セル値に応じて横方向にオフセット
ws.Shapes("仕事").Left = ws.Range("AV5").Offset(0, i - 1).Left
End If
End Sub
|
|