여러행 한꺼번에 삭제
가장 간단하게 여러행을 삭제하는 방법은 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 는 엑셀이 제공하는 최고의 행수를 의미
'업무 능력 향상 > 엑셀 VBA 기초' 카테고리의 다른 글
[VBA기초] 셀 병합 해제하고 같은 값으로 채우기 (0) | 2014.07.26 |
---|---|
[VBA기초] 첫문자열 공백제거 (0) | 2014.06.21 |
[VBA기초] 괄호 제거한 문자열 추출 (0) | 2014.06.08 |
[VBA기초] 셀 중앙정렬 (0) | 2014.06.04 |
[VBA기초] 날짜, 시간, 시간대 추출 (0) | 2014.05.24 |