Как выйти из модуля, прежде чем он закончил анализировать?

Вы можете попробовать:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim LastRow As Long, i As Long, ParentKey As Long
    Dim arr As Variant
    Dim booClose As Boolean

    With ThisWorkbook.Worksheets("Sheet1")

        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

        If Not Intersect(Target, .Range("C2:C" & LastRow)) Is Nothing And Target.Count = 1 Then

            If InStr(1, .Cells(Target.Row, 1).Value, ".") = 0 Then

                MsgBox "You are trying to manually change Parent Status."

            Else

                ParentKey = Mid(.Cells(Target.Row, 1).Value, 1, InStr(1, .Cells(Target.Row, 1).Value, "."))

                For i = 2 To LastRow

                    If InStr(1, .Cells(i, 1).Value, ".") <> 0 Then

                        If Mid(.Cells(i, 1).Value, 1, InStr(1, .Cells(i, 1).Value, ".")) = ParentKey Then

                            If .Cells(i, 3).Value = "Closed" Then

                                booClose = True

                            Else

                                booClose = False

                                Exit For

                            End If

                        End If

                    End If

                Next i

                For i = 2 To LastRow

                    If InStr(1, .Cells(i, 1).Value, ".") = 0 Then

                        If .Cells(i, 1).Value = ParentKey Then

                            Application.EnableEvents = False

                                If booClose = True Then
                                    .Cells(i, 3).Value = "Closed"
                                    Exit For
                                Else
                                    .Cells(i, 3).Value = "Open"
                                    Exit For
                                End If

                            Application.EnableEvents = True

                        End If

                    End If

                Next i

            End If

        End If

    End With

End Sub
6
задан gak 23 February 2009 в 10:28
поделиться

2 ответа

Вы могли использовать:

try:
   from skynet import SkyNet
   inherit_from = SkyNet
except ImportError:
   inherit_from = object

class SelfAwareSkyeNet(inherit_from):
    pass

Это работает, только если реализация не отличается.

Править: Новое решение после комментария.

2
ответ дан 10 December 2019 в 02:54
поделиться

попытка: еще поддерживает: пункт

try:
    from skynet import SkyNet

except ImportError:
    class SelfAwareSkyNet():
        pass

else:
    class SelfAwareSkyNet(SkyNet):
        pass
7
ответ дан 10 December 2019 в 02:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: