한 워크 시트에서 다른 워크 시트로 올바른 행으로 셀을 복사하는 방법

끄다

나는 csv 파일 (프린터에서 내보내기)을 가지고 있는데, 이것은 잘 읽을 수 없으며 필요하지 않은 많은 정보를 가지고 있습니다. 그래서 관련 데이터를 두 번째 시트에 복사하기 위해 VBA 매크로를 작성했습니다.

vba 코드로 워크 시트 1에서 워크 시트 2에 복사 될 특정 텍스트 문구를 찾고 있습니다. 이러한 텍스트 문구는 워크 시트 1의 특정 열에 없으므로 전체 시트 1을 살펴 봐야합니다. 내 코드 일하고 있지만 한 가지 문제가 있는데 저에게 까다로운 문제가 있습니다. 그래서 여러분의 도움이 필요합니다.

제 경우에는 "Druckbeginn ="(독일어이며 Printstart를 의미 함)이라는 문구를 찾고 그 뒤에 유닉스 타임 코드가옵니다. 대부분의 행에는 "Druckbeginn ="이라는 문구가 있지만 일부에는 그렇지 않습니다.

따라서 행 1, 2 및 4에는 구가 존재하지만 행 3에는 없습니다. 문제는 내 vba 코드가 워크 시트 1에서 워크 시트 2로 셀을 복사하지만 1, 2, 4가 아닌 1, 2, 3 행으로 복사한다는 것입니다.

내 csv 파일 및 / 또는 전체 vba 코드가 필요하면 알려주세요.

이것은 내 코드입니다.

w1.Activate
For Each r In Intersect(Range("A:AS"), ActiveSheet.UsedRange)
   v = r.Value
   If InStr(v, "Druckbeginn =") > 0 Then
      r.Copy w2.Cells(B, 3)
      B = B + 1
   End If
Next r
니콜라우스 희

솔루션 : 이 코드는 저에게 효과적이었습니다.

' Insert variable declarations etc.
Set w1 = ThisWorkbook.Sheets("Sheet1")
Set w2 = ThisWorkbook.Sheets("Sheet2")
For Each r In Intersect(w1.Range("A:AS"), w1.UsedRange)
    If InStr(r.Value, "Druckbeginn =") > 0 Then
        ' The important change is in the next line
        w2.Cells(r.Row, 3).Value = r.Value
    End If
Next r

결과 : (샘플 데이터를 얻기 전에 좀 더 간단하게 보임)

시트 1 :

여기에 이미지 설명 입력

시트 2 (매크로 실행 후) :

여기에 이미지 설명 입력

솔루션 설명 : 코드 B에서 문자열이 발견되면 복사 된 모든 셀이 소스 데이터의 해당 줄이 아닌 결과 시트의 열 상단에 복사되는 경우 에만 증가 합니다. 대신 .Row소스 데이터 속성을 간단히 참조 할 수 있습니다 . r.Row루프 의 현재 r요소의 행 번호이며 For Each셀이에서 동일한 행 번호에 있기를 원하므로 동일한 행 번호를 ws2사용할 수 있습니다.

코드 개선에 대한 설명 :

(1) For Each r In Intersect(w1.Range("A:AS"), w1.UsedRange): 어떤 워크 시트 .Range를 참조 하는지 혼동을 피하기 위해 w1.지정자를 추가했습니다 .

(2) If InStr(r.Value, "Druckbeginn =") > 0 Then대신 할당 v = r.Value그냥 사용할 수 있습니다 r.Value당신에 If나중에 다시 사용하지 않는 직접 때문에 절.

(3) w2.Cells(r.Row, 3).Value = r.Value: 복사 및 붙여 넣기 작업을 수행하려면 워크 시트 사이를 건너 뛰어야 .Value합니다. 특히 큰 파일을 살펴볼 때 속성을 통해 셀에 값을 직접 할당하는 것보다 성능면에서 더 나쁩니다 .

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

열을 기준으로 한 워크 시트에서 다른 워크 시트로 데이터 복사

분류에서Dev

한 워크 시트에서 다른 수식에 사용할 올바른 열을 찾는 방법

분류에서Dev

한 워크 시트에서 다른 워크 시트로 특정 셀 복사 및 붙여 넣기

분류에서Dev

Excel의 한 워크 시트에서 다른 워크 시트로 특정 셀을 복사하는 VBA는 무엇입니까?

분류에서Dev

다른 워크 시트에서 셀을 이동하는 방법

분류에서Dev

루프를 사용하여 병합되지 않은 셀을 한 워크 시트에서 다른 워크 시트의 병합 된 셀로 복사

분류에서Dev

행에서 다른 워크 시트로 특정 셀만 복사

분류에서Dev

행에서 다른 워크 시트로 특정 셀만 복사

분류에서Dev

한 워크 시트에서 다른 워크 시트로 셀을 복사하여 붙여넣고 값을 곱합니다.

분류에서Dev

Excel-한 워크 시트에서 다른 워크 시트로 그림을 가져와야 함 (복잡함)

분류에서Dev

한 워크 시트에서 셀 범위를 복사하여 수식이 아닌 값으로 다른 워크 시트에 붙여 넣습니다.

분류에서Dev

한 워크 시트의 한 셀에서 동일한 통합 문서의 다른 워크 시트에있는 다른 셀로 데이터를 자동으로 전송하는 방법

분류에서Dev

다른 워크 시트에서 측면으로 배치 된 동일한 열을 단일 워크 시트로 복사하려면 어떻게합니까?

분류에서Dev

한 워크 시트의 행을 복사하고 다른 워크 시트에 붙여 넣기

분류에서Dev

루프를 사용하여 한 워크 시트에서 다른 워크 시트로 값 바꾸기

분류에서Dev

워크 시트에서 다른 워크 시트 VBA로 범위 복사

분류에서Dev

다른 워크 시트에서 행 1을 제외한 모든 항목을 복사하여 붙여 넣는 방법

분류에서Dev

VBA, 워크 시트 1에서 내부 색상을 가져와 다른 워크 시트로 복사

분류에서Dev

한 행에서 특정 셀을 복사하여 다른 워크 시트의 다른 셀에 붙여 넣습니다.

분류에서Dev

워크 시트에서 다른 셀의 서식을 중단하지 않고 Excel에서 MS Access 표를 자동으로 새로 고치는 방법

분류에서Dev

워크 시트에서 다른 셀의 서식을 중단하지 않고 Excel에서 MS Access 표를 자동으로 새로 고치는 방법

분류에서Dev

Excel VBA 루프를 사용하여 한 워크 시트에서 다른 워크 시트로 일치하는 정보 복사

분류에서Dev

빈 셀이 포함 된 머리글 정보를 기반으로 한 워크 시트를 다른 워크 시트로 복사해야합니다.

분류에서Dev

한 워크 시트의 값이있는 동적 가변 열을 다른 워크 시트로 복사하여 붙여 넣기

분류에서Dev

한 시트의 여러 행 및 열에서 다른 시트로 셀 값을 복사하는 방법

분류에서Dev

VBA에서 서로 다른 워크 시트의 두 값을 비교하는 방법은 무엇입니까?

분류에서Dev

Google 앱 스크립트 GAS의 다른 시트에 나열된 셀 값을 기반으로 한 시트의 행을 필터링하는 방법

분류에서Dev

NULL 열이있는 데이터 행을 동일한 워크 시트의 다른 범위로 복사

분류에서Dev

다른 워크 시트의 셀 참조에서 열에서 데이터를 찾은 다음 일부 데이터를 다른 워크 시트로 복사

Related 관련 기사

  1. 1

    열을 기준으로 한 워크 시트에서 다른 워크 시트로 데이터 복사

  2. 2

    한 워크 시트에서 다른 수식에 사용할 올바른 열을 찾는 방법

  3. 3

    한 워크 시트에서 다른 워크 시트로 특정 셀 복사 및 붙여 넣기

  4. 4

    Excel의 한 워크 시트에서 다른 워크 시트로 특정 셀을 복사하는 VBA는 무엇입니까?

  5. 5

    다른 워크 시트에서 셀을 이동하는 방법

  6. 6

    루프를 사용하여 병합되지 않은 셀을 한 워크 시트에서 다른 워크 시트의 병합 된 셀로 복사

  7. 7

    행에서 다른 워크 시트로 특정 셀만 복사

  8. 8

    행에서 다른 워크 시트로 특정 셀만 복사

  9. 9

    한 워크 시트에서 다른 워크 시트로 셀을 복사하여 붙여넣고 값을 곱합니다.

  10. 10

    Excel-한 워크 시트에서 다른 워크 시트로 그림을 가져와야 함 (복잡함)

  11. 11

    한 워크 시트에서 셀 범위를 복사하여 수식이 아닌 값으로 다른 워크 시트에 붙여 넣습니다.

  12. 12

    한 워크 시트의 한 셀에서 동일한 통합 문서의 다른 워크 시트에있는 다른 셀로 데이터를 자동으로 전송하는 방법

  13. 13

    다른 워크 시트에서 측면으로 배치 된 동일한 열을 단일 워크 시트로 복사하려면 어떻게합니까?

  14. 14

    한 워크 시트의 행을 복사하고 다른 워크 시트에 붙여 넣기

  15. 15

    루프를 사용하여 한 워크 시트에서 다른 워크 시트로 값 바꾸기

  16. 16

    워크 시트에서 다른 워크 시트 VBA로 범위 복사

  17. 17

    다른 워크 시트에서 행 1을 제외한 모든 항목을 복사하여 붙여 넣는 방법

  18. 18

    VBA, 워크 시트 1에서 내부 색상을 가져와 다른 워크 시트로 복사

  19. 19

    한 행에서 특정 셀을 복사하여 다른 워크 시트의 다른 셀에 붙여 넣습니다.

  20. 20

    워크 시트에서 다른 셀의 서식을 중단하지 않고 Excel에서 MS Access 표를 자동으로 새로 고치는 방법

  21. 21

    워크 시트에서 다른 셀의 서식을 중단하지 않고 Excel에서 MS Access 표를 자동으로 새로 고치는 방법

  22. 22

    Excel VBA 루프를 사용하여 한 워크 시트에서 다른 워크 시트로 일치하는 정보 복사

  23. 23

    빈 셀이 포함 된 머리글 정보를 기반으로 한 워크 시트를 다른 워크 시트로 복사해야합니다.

  24. 24

    한 워크 시트의 값이있는 동적 가변 열을 다른 워크 시트로 복사하여 붙여 넣기

  25. 25

    한 시트의 여러 행 및 열에서 다른 시트로 셀 값을 복사하는 방법

  26. 26

    VBA에서 서로 다른 워크 시트의 두 값을 비교하는 방법은 무엇입니까?

  27. 27

    Google 앱 스크립트 GAS의 다른 시트에 나열된 셀 값을 기반으로 한 시트의 행을 필터링하는 방법

  28. 28

    NULL 열이있는 데이터 행을 동일한 워크 시트의 다른 범위로 복사

  29. 29

    다른 워크 시트의 셀 참조에서 열에서 데이터를 찾은 다음 일부 데이터를 다른 워크 시트로 복사

뜨겁다태그

보관