|
Application.EnableEvents = False 'イベントの発生抑止(無限処理防止)
Application.EnableEvents = True 'イベントの発生抑止の解除
でできました。
過去ログをもっと調べてからにすればよかったです。
すみませんでした。
▼acch さん:
>教えてください。
>セル内容を変更すると、下記のChangeイベント(セル内容を変更)が発生します。しかし(1)のところで、また、Changeイベントが発生するらしく、無限ループになってしまいます。Changeイベントを発生させない方法を教えてください。
>
>このルーチンは「ThisWorkbook」に記述しています。
>
>Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
> If Sh.Name <> "追加データ" Then
> GoTo name_id_set90
> End If
> If Target.Column = 4 Then
> tg_row = Target.Row
> tg_column = Target.Column
> tg_cell = Worksheets("追加データ").Cells(tg_row, tg_column).Value
> End If
> If tg_cell = "" Then
> GoTo name_id_set90
> End If
>'
> Application.ScreenUpdating = True
>'
> ix = 5
>name_id_set10:
> ix = ix + 1
> Worksheets("データプール").Activate
> If Worksheets("データプール").Cells(ix, 4) = "" Then
> GoTo name_id_set90
> End If
> If Worksheets("データプール").Cells(ix, 4) = tg_cell Then
> tg_id = Worksheets("データプール").Cells(ix, 2)
> tg_name = Worksheets("データプール").Cells(ix, 3)
> Worksheets("追加データ").Activate
>'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
> Cells(tg_row, tg_column - 2).Select
> Selection = tg_id <----- (1)
>'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
> Cells(tg_row, tg_column - 1).Select
> Selection = tg_name
>'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
> GoTo name_id_set90
> End If
> GoTo name_id_set10
>name_id_set90:
>End Sub
|
|