워크 시트에서 이전 데이터 삭제 (Microsoft Excel)
Gene은 특정 열의 날짜를 기준으로 워크 시트에서 데이터를 빠르게 삭제할 수있는 방법을 찾고 있습니다. 날짜가 오늘보다 오래된 경우 (날짜가 지난 경우) 행을 삭제해야합니다.
이것은 매크로를 사용하여 쉽게 수행 할 수 있습니다. 매크로를 통해 데이터를 살펴보고 각 행의 날짜를 오늘 날짜와 비교하기 만하면됩니다. 날짜가 오늘보다 작 으면 EntireRow 개체에 Delete 메서드가 사용됩니다.
Sub DeleteRows1() Dim x As Long Dim iCol As Integer iCol = 7 'Filter all on Col G For x = Cells(Cells.Rows.Count, iCol).End(xlUp).Row To 2 Step -1 If Cells(x, iCol).Value < Date Then Cells(x, iCol).EntireRow.Delete End If Next End Sub
이 예에서 매크로는 G 열 (iCol 변수에 있음)에서 날짜를 확인합니다. 날짜가 다른 열에있는 경우 변수를 변경해야합니다. 워크 시트의 데이터 행 수에 따라 매크로를 실행하는 데 시간이 오래 걸릴 수도 있습니다.
성능 지연이 발견되면 다른 접근 방식을 사용할 수 있습니다. 다음 예제에서는 Excel의 자동 필터 기능을 사용하여 먼저 데이터를 필터링하여 이전 데이터 만 표시 한 다음 해당 행을 삭제합니다.
Sub DeleteRows2() Dim Dates As Range Dim nRows As Double Dim currDate As Variant 'Format dates as text Range("Dates").NumberFormat = "@" 'Today's date in number format currDate = CDbl(Date) Range("Dates").AutoFilter Field:=1, _ Criteria1:="<" & currDate nRows = Range("Dates").Rows.Count Rows("2:" & nRows).Select Selection.Delete Shift:=xlUp Range("Dates").AutoFilter Range("Dates").NumberFormat = "m/d/yyyy" Range("C2").Select End Sub
이 매크로는 데이터 범위에 이름을 할당하는 단계를 수행했다고 가정합니다. 표제 행을 포함하여 데이터 표의 모든 셀을 선택하고 “날짜”라는 이름을 지정합니다. 매크로를 실행할 때이 범위를 자동 필터의 대상으로 사용합니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (10783)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.
link : / excel-Deleting_Old_Data_from_a_Worksheet [Deleting Old Data from a Worksheet]
.