VBA 特定もセルに入力で実行
下記のコードを実行した際は問題なく実行されるのですが
これを特定のセルに値が入力された際に動かそうとするとエラーになってしまいます。
Sub PaintTargetCharacter()
Dim FoundCell As Range, FoundCell2 As Range
Dim Addr As String
Dim Addr2 As String
Dim SearchArea As Range
Dim SearchArea2 As Range
Application.ScreenUpdating = False
ActiveCell.Interior.ColorIndex = 0
'検索対象範囲
Set SearchArea = Worksheets("G番情報").Range("AE6:BG6")
'検索実行
Set FoundCell = SearchArea.Find(What:=ActiveCell.Offset(0, -1), LookIn:=xlValues, _
LookAt:=xlPart, MatchCase:=False, MatchByte:=False)
'検索文字列を含むセルがない場合は終了
If FoundCell Is Nothing Then Exit Sub
Set SearchArea2 = Range(FoundCell.Offset(1, 0), FoundCell.Offset(33, 0))
Set FoundCell2 = SearchArea2.Find(What:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, MatchCase:=False, MatchByte:=False)
If FoundCell2 Is Nothing Then Exit Sub
FoundCell2.Copy Destination:=ActiveCell
Application.ScreenUpdating = True
End Sub
当然、特定のセルで値を入力後エンターキーを押すとアクティブセルは下に下がってしまうので
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Target.select
Call PaintTargetCharacter
End Sub
としているのですが
Set FoundCell = SearchArea.Find(What:=ActiveCell.Offset(0, -1), LookIn:=xlValues, _
LookAt:=xlPart, MatchCase:=False, MatchByte:=False)
の部分でエラーが起きてしまいます。
また停止してシートに戻るとセルのカーソル表示が消えてしまいます。
この現象はシートを閉じて再度開くと直りますが
なにかエラーと関係しているのでしょうか?
初心者なのでおかしな部分が多々あると思います。
ご指摘などあれば宜しくお願いします。
お礼
できました~ ありがとうございました。