0
단일 열 필터의 단일 입력 값을 기반으로 행을 삭제하는 코드를 작성했습니다. 동일한 열 필터에서 여러 입력 값을 처리하도록 편집하고 싶습니다. .Excel VBA - 단일 열 필터에서 여러 값의 행을 삭제합니다.
데이터베이스의 헤더는 A4 : Z입니다.
Option Explicit
Sub Test()
Dim ws As Worksheet
Dim lastRow As Long
Dim rng As Range
Dim myValue As Variant
'set sheet reference
Set ws = ActiveSheet
'turn off autofilter
ws.AutoFilterMode = False
'get last row
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
'set range to filter
Set rng = ws.Range("A4:Z" & lastRow)
'get user input
myValue = InputBox("Periods to delete?")
'set filter
rng.AutoFilter Field:=8, Criteria1:=myValue
'delete visible rows
rng.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
'show remaining rows by removing autofilter
ws.AutoFilterMode = False
End Sub
입력란에는 현재 하나의 마침표 (월 번호)가 사용됩니다. 나는 '2,3,4'와 같이 여러 값을 사용하기를 원합니다. 그러면 2 (feb), 3 (3 월), 4 (4 월)이 삭제됩니다.
정말로 다음에 무엇을해야할지 모르겠다. 나는 아직 vba에 대한 newb입니다.
감사합니다. –
정말 죄송하지만 코드가 다음과 같은 값을 잡을 수있는 방법이 있습니까 : "16m1-16m5"? doesnt는 무엇이라도하는 것처럼 보인다. –
구분 기호가 쉼표가 아닌 하이픈 인 경우 두 번째 분할 매개 변수를 하이픈으로 변경하십시오. – SJR