"entirerow.delete"는 For 루프의 항목을 건너 뜁니다.

Da Spotz

데이터 집합을 정리하려고하는데 vba 함수 wholerow.delete에서 이상한 점을 발견했습니다. 다음 코드는 의도 한대로 취소 선 형식 인 경우 전체 행을 삭제하지만 바로 다음 행은 건너 뜁니다. 그것들도 그 형식이라면. 취소 선 형식이 아닌 행이 더 많은 행을 삭제하는 기능을 "재설정"하는 것처럼 보입니다. 아무도 이유를 알고 있거나 이것을 디버깅하기 위해 무엇을 할 수 있습니까?

For Each rng In rng1
'Check each character in the cell
    For i = 1 To Len(rng.Value)
'If any letter is Strikethrough,delete entire column
        If rng.Characters(i, 1).Font.Strikethrough = True Then
            rng.Select    'just serves the purpose of observing which rows are being selected
            rng.EntireRow.Delete
        GoTo NextRng
        End If
    Next i
NextRng:
Next rng

다른 접근 방식을 사용하여 해결 방법을 찾았지만 매우 느립니다.

'Delete cells that have the strikethrough format - works but is super slow!
ws2.Range("B2").Activate
Do Until ActiveCell.Value = ""
    If ActiveCell.Font.Strikethrough = True Then
        ActiveCell.EntireRow.Delete
        Else: ActiveCell.Offset(1, 0).Activate
    End If
Loop

누구든지이 문제를 신속하게 해결할 수있는 대안이 있다면, 귀하의 의견에 대단히 감사하겠습니다.

Da Spotz

빠른 응답 덕분에 나는 그것을 알아 냈습니다. 이 스레드에서 (약간) 더 빠른 방법으로 나를 밀어 준 @Siddarth Rout에게 특별히 감사드립니다. VBa 조건부 삭제 루프가 작동하지 않음 다음은 누군가가 궁금한 경우를 대비 한 작업 코드입니다.

Dim delRange As Range
Dim ws2 As Worksheet
Dim i As Long

'Find Lastrow in ws2
LastRow2 = ws2.Cells.Find(What:="*", _
                After:=Range("A1"), _
                LookAt:=xlPart, _
                LookIn:=xlFormulas, _
                SearchOrder:=xlByRows, _
                SearchDirection:=xlPrevious, _
                MatchCase:=False).Row
With ws2
    For i = 1 To LastRow2
        If .Cells(i, 2).Font.Strikethrough = True Then
'This if statement adds all the identified rows to the range that will be deleted
            If delRange Is Nothing Then
                Set delRange = .Rows(i)
            Else
                Set delRange = Union(delRange, .Rows(i))
            End If
        End If
    Next i

    If Not delRange Is Nothing Then delRange.Delete
End With

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

for 루프는 배열의 첫 번째 항목을 건너 뜁니다.

분류에서Dev

For 루프는 R 데이터 프레임의 행을 건너 뜁니다.

분류에서Dev

자동 루프는 일부 인덱스 배열을 건너 뜁니다.

분류에서Dev

ARGV 루프가 Ruby의 if 문을 건너 뜁니다.

분류에서Dev

Oledb는 Excel 파일의 첫 번째 열을 건너 뜁니다.

분류에서Dev

Elasticsearch는 @ -symbol을 건너 뜁니다.

분류에서Dev

파이프에서 정수 읽기는 C의 값을 건너 뜁니다.

분류에서Dev

항목을 건너 뛰는 루프

분류에서Dev

너무 오래 걸리는 경우 for 루프 내에서 셀레늄 Webdriver.get () 호출을 건너 뜁니다.

분류에서Dev

For 루프가 목록의 특정 항목을 건너 뛰는 것처럼 보입니다.

분류에서Dev

화살표 키는 문서 및 목록의 끝으로 건너 뜁니다.

분류에서Dev

타이프 스크립트 함수는 문장을 건너 뜁니다.

분류에서Dev

readline은 for 루프에서 첫 번째 줄을 건너 뜁니다.

분류에서Dev

PHP MYSQL Nested While 루프가 반복을 건너 뜁니다.

분류에서Dev

BERT는 예측시 test.tsv의 첫 번째 행을 건너 뜁니다.

분류에서Dev

Python의 Panda는 첫 번째 줄에서 계산을 건너 뜁니다.

분류에서Dev

for 루프 내부에서 파이썬 열거가 대체 항목을 건너 뜁니다.

분류에서Dev

스프레드 시트의 모든 이름을 나열하고 처음 몇 개는 건너 뜁니다.

분류에서Dev

StreamReader는 다음 줄을 얻고 빈 줄을 건너 뜁니다.

분류에서Dev

'E'가있는 scanf는 내 전체 루프를 한 번 건너 뜁니다.

분류에서Dev

'E'가있는 scanf는 내 전체 루프를 한 번 건너 뜁니다.

분류에서Dev

주어진 시간 후에 스레드가있는 for 루프의 다음 인덱스로 건너 뜁니다.

분류에서Dev

SQLSRV는 쿼리를 반환 할 때 행을 건너 뜁니다.

분류에서Dev

때때로 Properties.load ()는 줄을 건너 뜁니다.

분류에서Dev

FactoryMuff는 laravel 모델 콜백을 건너 뜁니다.

분류에서Dev

Java는 코드 줄을 건너 뜁니다.

분류에서Dev

Perl 인덱스는 검색 값을 건너 뜁니다.

분류에서Dev

Serial.read ()는 직렬 입력을 건너 뜁니다.

분류에서Dev

R의 다른 열을 기준으로 열을 합산하지만 NA가있는 행은 건너 뜁니다.

Related 관련 기사

  1. 1

    for 루프는 배열의 첫 번째 항목을 건너 뜁니다.

  2. 2

    For 루프는 R 데이터 프레임의 행을 건너 뜁니다.

  3. 3

    자동 루프는 일부 인덱스 배열을 건너 뜁니다.

  4. 4

    ARGV 루프가 Ruby의 if 문을 건너 뜁니다.

  5. 5

    Oledb는 Excel 파일의 첫 번째 열을 건너 뜁니다.

  6. 6

    Elasticsearch는 @ -symbol을 건너 뜁니다.

  7. 7

    파이프에서 정수 읽기는 C의 값을 건너 뜁니다.

  8. 8

    항목을 건너 뛰는 루프

  9. 9

    너무 오래 걸리는 경우 for 루프 내에서 셀레늄 Webdriver.get () 호출을 건너 뜁니다.

  10. 10

    For 루프가 목록의 특정 항목을 건너 뛰는 것처럼 보입니다.

  11. 11

    화살표 키는 문서 및 목록의 끝으로 건너 뜁니다.

  12. 12

    타이프 스크립트 함수는 문장을 건너 뜁니다.

  13. 13

    readline은 for 루프에서 첫 번째 줄을 건너 뜁니다.

  14. 14

    PHP MYSQL Nested While 루프가 반복을 건너 뜁니다.

  15. 15

    BERT는 예측시 test.tsv의 첫 번째 행을 건너 뜁니다.

  16. 16

    Python의 Panda는 첫 번째 줄에서 계산을 건너 뜁니다.

  17. 17

    for 루프 내부에서 파이썬 열거가 대체 항목을 건너 뜁니다.

  18. 18

    스프레드 시트의 모든 이름을 나열하고 처음 몇 개는 건너 뜁니다.

  19. 19

    StreamReader는 다음 줄을 얻고 빈 줄을 건너 뜁니다.

  20. 20

    'E'가있는 scanf는 내 전체 루프를 한 번 건너 뜁니다.

  21. 21

    'E'가있는 scanf는 내 전체 루프를 한 번 건너 뜁니다.

  22. 22

    주어진 시간 후에 스레드가있는 for 루프의 다음 인덱스로 건너 뜁니다.

  23. 23

    SQLSRV는 쿼리를 반환 할 때 행을 건너 뜁니다.

  24. 24

    때때로 Properties.load ()는 줄을 건너 뜁니다.

  25. 25

    FactoryMuff는 laravel 모델 콜백을 건너 뜁니다.

  26. 26

    Java는 코드 줄을 건너 뜁니다.

  27. 27

    Perl 인덱스는 검색 값을 건너 뜁니다.

  28. 28

    Serial.read ()는 직렬 입력을 건너 뜁니다.

  29. 29

    R의 다른 열을 기준으로 열을 합산하지만 NA가있는 행은 건너 뜁니다.

뜨겁다태그

보관