계속하기 전에 범위의 값을 확인하십시오.

메이슨 R

그래서 지금은 작업 추적기에 대한 Excel 통합 문서가 있습니다. 완료된 날짜가 포함 된 열이 채워지면 해당 행을 가져 와서 다른 시트에 복사 ( "Complete") 한 다음 현재 시트에서 삭제합니다 ( "현재"). 이것이 실행되기 전에 내가하고 싶은 것은 "C"또는 "U"에 대한 열 H부터 M까지의 값을 확인하는 것입니다. 해당 범위의 셀에 또는가 포함되어 있지 않으면 종료하고 메시지를 표시하고 싶습니다. 저는 Excel이나 VBA에 익숙하지 않지만 C ++에는 괜찮습니다.

현재 코드는 다음과 같습니다.

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False

Dim receivedDate As Range, nextOpen As Range, isect As Range

Set receivedDate = Sheet1.Range("G3:G166")
Set isect = Application.Intersect(Target, receivedDate)

If Not (isect Is Nothing) And IsDate(Target) = True Then
    Set nextOpen = Sheet4.Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    Target.EntireRow.Copy Destination:=nextOpen.EntireRow
    Target.EntireRow.Delete
End If

Application.EnableEvents = True

End Sub

여기 내가 무슨 일이 일어나고 있는지 잘랐습니다 ...

일의 싹둑

어떤 도움이라도 대단히 감사하겠습니다. 둘러 보려고해서 미안 해요.

팀 윌리엄스

편집 -더 강력하고 추가 된 오류 처리기 및 다중 셀 업데이트 처리

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim receivedDate As Range, nextOpen As Range, isect As Range
    Dim rngHM As Range, c As Range, rngDel As Range

    Set receivedDate = Sheet1.Range("G3:G166")
    'are any of the changed cells in the range we're monitoring?
    Set isect = Application.Intersect(Target, receivedDate)

    On Error GoTo haveError 'error handler ensures events get re-enabled...

    '### remember that Target can contain >1 cell...
    For Each c In isect.Cells
        If IsDate(c.Value) Then
            With c.EntireRow

                Set rngHM = .Cells(1, "H").Resize(1, 6)
                'EDIT: all cells must be C or U
                If (Application.CountIf(rngHM, "C") + _
                   Application.CountIf(rngHM, "U")) <> rngHM.Cells.Count Then

                    MsgBox "No C or U on row " & c.Row & " !"

                Else

                    Set nextOpen = Sheet4.Range("A" & Rows.Count) _
                                      .End(xlUp).Offset(1, 0)
                    .Copy Destination:=nextOpen.EntireRow

                    'deleting rows while looping gives odd results,
                    '  so store them up until done...
                    If rngDel Is Nothing Then
                        Set rngDel = c
                    Else
                        Set rngDel = Application.Union(rngDel, c)
                    End If

               End If

            End With 'entirerow
        End If   'is date
    Next c

    'delete any copied rows in a single operation
    If Not rngDel Is Nothing Then
        Application.EnableEvents = False
        rngDel.EntireRow.Delete
        Application.EnableEvents = True
    End If

    Exit Sub

haveError:
    'if your code errors out then this makes sure event handling gets reset
    Application.EnableEvents = True

End Sub

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

범위 내의 값을 확인하십시오.

분류에서Dev

범위의 값을 확인하십시오.

분류에서Dev

사전 파이썬의 키 값과 목록의 값을 확인하십시오.

분류에서Dev

계속하기 전에 약속 함수에서 반환을 확인하십시오. 잘못된 접근?

분류에서Dev

Array의 값이 해당 위치에 해당하는지 확인하십시오.

분류에서Dev

strtotime으로 전달하기 전에 사용자가 입력 한 시간의 형식을 확인하십시오.

분류에서Dev

Excel에서 동일한 행의 두 값을 확인하십시오.

분류에서Dev

mongodb colletion을 통해 색인화하기에 너무 큰 필드의 값을 확인하십시오.

분류에서Dev

Laravel : 값이 범위에 속하는 위치를 기준으로 관계 정의?

분류에서Dev

계속 진행하기 전에 채널 권한 (소유자) defaultrole을 확인하십시오.

분류에서Dev

Laravel에서 if 문을 계속 확인하십시오.

분류에서Dev

제출하기 전에 이메일 값을 확인하십시오.

분류에서Dev

VBA에서 FormatConditions를 사용하여 "false"값이 범위에 있는지 확인하십시오.

분류에서Dev

숫자가 dataFrame의 숫자 범위 내에 있는지 확인하십시오.

분류에서Dev

jQuery의 listview에서 모든 확인란을 확인하십시오.

분류에서Dev

확인하기 전에 Java에서 'for 루프'의 중간 부분을 평가하십시오.

분류에서Dev

범위 내의 모든 숫자가 'A'에 속하는 범위 값의 시작과 끝을 알 때 할당 된 값 'A'를 갖도록 df를 구성하십시오.

분류에서Dev

계속하기 전에 canvas.toBlob ()을 기다리십시오.

분류에서Dev

계속하기 전에 NSNotification을 기다리십시오.

분류에서Dev

postgresql에서 동일한 범위를 확인하십시오.

분류에서Dev

여러 인스턴스에서 일부 속성 값을 확인하고 Python의 동일한 인스턴스에서 다른 속성을 인쇄하십시오.

분류에서Dev

범위에서 하나의 값을 확인하려면 IF 및 AND

분류에서Dev

create () 전에 값이 유효한지 확인하십시오.

분류에서Dev

SBT에게 SNAPSHOT 버전의 변경 사항을 확인하지 않도록 지시하십시오.

분류에서Dev

PHP의 범위에있는 값을 확인하고 일치시키는 방법

분류에서Dev

NSDictionary에서 특정 값을 확인하십시오.

분류에서Dev

Angularjs로 값에 따라 확인란을 선택하십시오.

분류에서Dev

길이가 아닌 NumberField의 값을 확인하십시오.

분류에서Dev

상수 값 설명을 위해 DataFrame의 열을 확인하십시오.

Related 관련 기사

  1. 1

    범위 내의 값을 확인하십시오.

  2. 2

    범위의 값을 확인하십시오.

  3. 3

    사전 파이썬의 키 값과 목록의 값을 확인하십시오.

  4. 4

    계속하기 전에 약속 함수에서 반환을 확인하십시오. 잘못된 접근?

  5. 5

    Array의 값이 해당 위치에 해당하는지 확인하십시오.

  6. 6

    strtotime으로 전달하기 전에 사용자가 입력 한 시간의 형식을 확인하십시오.

  7. 7

    Excel에서 동일한 행의 두 값을 확인하십시오.

  8. 8

    mongodb colletion을 통해 색인화하기에 너무 큰 필드의 값을 확인하십시오.

  9. 9

    Laravel : 값이 범위에 속하는 위치를 기준으로 관계 정의?

  10. 10

    계속 진행하기 전에 채널 권한 (소유자) defaultrole을 확인하십시오.

  11. 11

    Laravel에서 if 문을 계속 확인하십시오.

  12. 12

    제출하기 전에 이메일 값을 확인하십시오.

  13. 13

    VBA에서 FormatConditions를 사용하여 "false"값이 범위에 있는지 확인하십시오.

  14. 14

    숫자가 dataFrame의 숫자 범위 내에 있는지 확인하십시오.

  15. 15

    jQuery의 listview에서 모든 확인란을 확인하십시오.

  16. 16

    확인하기 전에 Java에서 'for 루프'의 중간 부분을 평가하십시오.

  17. 17

    범위 내의 모든 숫자가 'A'에 속하는 범위 값의 시작과 끝을 알 때 할당 된 값 'A'를 갖도록 df를 구성하십시오.

  18. 18

    계속하기 전에 canvas.toBlob ()을 기다리십시오.

  19. 19

    계속하기 전에 NSNotification을 기다리십시오.

  20. 20

    postgresql에서 동일한 범위를 확인하십시오.

  21. 21

    여러 인스턴스에서 일부 속성 값을 확인하고 Python의 동일한 인스턴스에서 다른 속성을 인쇄하십시오.

  22. 22

    범위에서 하나의 값을 확인하려면 IF 및 AND

  23. 23

    create () 전에 값이 유효한지 확인하십시오.

  24. 24

    SBT에게 SNAPSHOT 버전의 변경 사항을 확인하지 않도록 지시하십시오.

  25. 25

    PHP의 범위에있는 값을 확인하고 일치시키는 방법

  26. 26

    NSDictionary에서 특정 값을 확인하십시오.

  27. 27

    Angularjs로 값에 따라 확인란을 선택하십시오.

  28. 28

    길이가 아닌 NumberField의 값을 확인하십시오.

  29. 29

    상수 값 설명을 위해 DataFrame의 열을 확인하십시오.

뜨겁다태그

보관