728x90

여러행 한꺼번에 삭제


가장 간단하게 여러행을 삭제하는 방법은 Range 범위를 주고 행을 삭제하는 것입니다.

메모리가 부족하다는 메시지가 나와서 아래 방법을 써봤는데 알고 보니까 엑셀 파일이 문제가 있었나 봅니다.

새로운 파일을 생성하고 데이터만 복사해서 아래 VBA 코드를 실행했더니 금방 금방 파일이 지워지더군요.


Sub 여러행삭제()
    Range([a2], [a1000]).EntireRow.Delete
End Sub


또다른 방법은

삭제할 행의 수를 입력받아서 지우는 방법입니다.

Cells(행,열) 이므로 Cells(Counter,1) 이라는 의미는 행의 수는 가변으로 받고, 열은 1 즉 A열을 의미합니다.


Sub 여러행삭제()
    Dim i As Integer
    Dim Counter
   
    Counter = InputBox("삭제할 행의 개수를 입력하세요")
    Range([a2], Cells(Counter, 1)).EntireRow.Delete
End Sub


범위(Range)를 주고 그 범위의 행 전체를 모두 삭제

Range(Cells(6, "A"), Cells(Rows.Count, "A")).EntireRow.Delete
// 의미 분석을 해보면 ....

// Cells(행,열) 이며, Cells(6,"A") 라는 것은 6번째행, 열은 A열 이라는 것임. 다르게 표현하면 Cells(6,1)

// 쓰는 사람에 따라 Cells(6,1)을 선호하는 분도 있음. 전 어떤 열인지 파악하기 좋게 영문표기를 선호

// Cells(Rows.Count, "A") 에서 Rows.Count 는 엑셀이 제공하는 최고의 행수를 의미



728x90
블로그 이미지

Link2Me

,