|
▼ねも さん:
>セル"F10"に値を入力した値をA列から選んでその場所にセルを移動するのですが"F10"に値を入力しても動作しません。マクロからだと動作するのですが、
>よろしく御願いします
>
>Private Sub Workcheet_Change(ByVal Target As Range)
> With Target
> If IsEmpty(.Value) Then Exit Sub
> If Not IsNumeric(.Value) Then Exit Sub
> End With
> If Application.Intersect(Target, Range("F10")) Is Nothing Then Exit Sub
> Application.EnableEvents = False
>
> Dim アドレス As Variant
> アドレス = Application.Match(Range("F10").Value2, Columns(1), 0)
> If Not IsError(アドレス) Then
> Cells(アドレス, 1).Select
> End If
上記でCells(アドレス, 1)を選択しても
ここ↓でF10を選択しなおすので、動作しているのに
見た目は、F10が選択されて内容が消されているだけです。
> Range("F10").Select
> Selection.ClearContents
>
> Application.EnableEvents = True
>
>End Sub
おまけ、
> With Target
> If IsEmpty(.Value) Then Exit Sub
> If Not IsNumeric(.Value) Then Exit Sub
> End With
> If Application.Intersect(Target, Range("F10")) Is Nothing Then Exit Sub
えっと、これだと対象セルが複数だとエラーになるけど、この辺は?
If Target.address = "F10" Then
にすれば、そういうのはあまり気にならないと思います。
複数セルの入力に対応してなくてもいいのであれば....。
おまけ2
シートイベントが動作しないというのであれば、テスト中にエラーになったりすると
Application.EnableEvents = False
のままだったりするので、(下記コードまで行かない)
標準モジュールにて、下記コードを実行してイベントを復活させてください。
Application.EnableEvents = True
|
|