안녕하세요? [꿈보다하늘]님...
이미 좋은 답변을 받으셨는데...
추가로 드리는 답변은 VBA와 SQL을 이용해서 수량, 가격, 할인금액의 합계를 만들고 그 합계가 0이 아닌 데이터만 필터하는 방법입니다.
Option Explicit
Sub Test()
Dim DB As DAO.Database
Dim RS As DAO.Recordset
Dim I As Integer
Dim strSQL As String
Dim Rng As Range
Dim rng_Cr As Range
Dim Rng_To As Range
Set DB = OpenDatabase(ThisWorkbook.FullName, False, True, "Excel 8.0;")
Set Rng = Sheet1.Range("A1").CurrentRegion
Set Rng_To = Sheet3.Range("a1:f1")
strSQL = "SELECT 상품명, SUM(수량) + SUM(가격) + SUM(할인금액) AS TEMP "
strSQL = strSQL & "FROM [" & DB.TableDefs(0).Name & "] "
strSQL = strSQL & "GROUP BY 상품명;"
Set RS = DB.OpenRecordset(strSQL)
Application.ScreenUpdating = False
With Sheet2
.Cells.Clear
For I = 0 To RS.Fields.Count - 1
.Cells(1, I + 1).Value = RS.Fields(I).Name
Next I
.Range("a2").CopyFromRecordset RS
End With
RS.Close: Set RS = Nothing
DB.Close: Set DB = Nothing
With Sheet2.Columns("b")
.Replace 0, ""
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
.EntireColumn.Delete
End With
Set rng_Cr = Sheet2.Range("a1").CurrentRegion
Rng.CurrentRegion.AdvancedFilter xlFilterCopy, rng_Cr, Rng_To, 0
Sheet2.Cells.Clear
MsgBox Format(Sheet3.Cells(Rows.Count, 1).End(xlUp).Row - 1, "#,##0") & "개의 데이터를 필터했습니다.", vbInformation, "알림"
Sheet3.Select
Application.ScreenUpdating = True
End Sub
자세한 내용은 첨부파일을 참고로...
그럼 잘 해결되시길... ^^*
=======================================================================================
첨부파일
180128_다중조건_중복자료_삭제하기_SQL.xlsm
=======================================================================================