다른 행의이 문자열을 다시 사용하여 공백 (다른 정보 정렬에 필요함)이있는 전체 열을 새 위치에 복사합니다. 그러나 복사 작업이 첫 번째 빈 공백에서 멈추고 실제로는 멈추는 것을 볼 수 있습니다. 내가해야 할 일은 블랭크와 모든 것을 블록으로 복사 한 다음 아래의 Range 아래에 넣는 것입니다. 먼저 모든 공백을 채우는 것으로 생각했지만 채우기 값을 무한대까지 계속 보냅니다. 데이터보다 많은 공백이 있습니다.공백이있는 데이터 블록을 다른 위치에 복사
Range(Range("P2"), Range("P2").End(xlDown)).Copy '!!!Stops at frist blank!!!
For idx = 1 To 1
Columns("P:P").Cut
Cells(Range("D2").End(xlDown).Row + 1, "D").Select
ActiveSheet.Paste
Next
왜 그렇게 할 수 없습니까? 다른 해결책이 있다면 나는이 코드가 될 필요가 없다. 작업은 하나의 관련 정보에서 레이아웃을 전체 행을 채워서 관련 데이터 (일부 공백 포함)가 열 아래로 반복되는 "스택"레이아웃으로 변경한다는 것입니다. 따라서 세그먼트를 쌓아야합니다. 전체 열이있는 복사 사본을 대부분 잘라 냈습니다.
이동하기 전에 다른 셀의 비어 있지 않은 값을 기준으로 범위를 복사 할 수 있습니다. 하지만 새로운 범위의 맨 아래에있는 첫 번째 빈 셀에 착륙해야합니다. 여러 열에 대해이 작업을 반복하되 별도로 수행 할 수 있습니다.
BI를 통해 BI 열의 셀을보고 값이 "0"또는 "-"로 채워지는 코드가있는 경우 첫 번째 문제는 무시할 수 있습니다 (BH의 값이 비어있는 경우).
범위 ("P2", 셀 수 (Rows.Count, "P"). 끝 (xlUp). 로우) .Copy – user3598756