Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- PayPay
- CSV
- Selenium
- 프라하
- react.js
- 카마츠루
- Python
- typescript
- 미츠이 스미토모
- JenkinsFile
- PostgreSQL
- node.js
- javascript
- local
- pyenv
- 태국
- 방콕
- terraform
- 釜つる
- 뮌헨
- 熱海
- 三井住友カード
- duckdb
- vba
- documentdb
- codebuild
- 메르페이
- 페이페이
- 체코
- 아타미
Archives
- Today
- Total
도쿄사는 외노자
VBA 중복행 삭제 본문
1. 모든 열의 중복행 삭제
'지정한 워크시트에서 중복행 삭제
Sub DeleteDuplicate(TargetSheet)
'시트 설정
Set SumSheet = ThisWorkbook.Sheets(TargetSheet)
'데이터의 마지막 행 취득
Dim intArray As Variant, i As Integer
Dim rng As Range
Set rng = SumSheet.UsedRange.Rows
With rng
'모든 칼럼을 비교
ReDim intArray(0 To .Columns.Count - 1)
For i = 0 To UBound(intArray)
intArray(i) = i + 1
'중복되는 데이터 삭제
Next i
.RemoveDuplicates Columns:=(intArray), Header:=xlNo
End With
End Sub
2. 하나의 열에서 중복행 삭제
'특정 시트의 지정한 열에서 중복 삭제
Sub DeleteDuplicateCol(TargetSheetName, StartRow, Col)
Dim TargetSheet As Worksheet
Dim EndRow As Integer
Set TargetSheet = ThisWorkbook.Sheets(TargetSheetName)
EndRow = TargetSheet.Cells(TargetSheet.Rows.Count, Col).End(xlUp).Row
'지정한 열을 대상으로 StartRow~EndRow에서 중복 삭제
Range(TargetSheet.Cells(StartRow, Col), TargetSheet.Cells(EndRow, Col)).RemoveDuplicates _
Columns:=Array(1), Header:=xlYes
End Sub
사용 방법은 아래와 같다.
Dim shtWork As String
shtWork = "Work"
Dim targetCol As Integer
targetCol = 2
'시트의 전체 열 비교하여 중복행 삭제
Call DeleteDuplicateCol(TargetSheetName:=shtWork)
'지정한 열의 중복행 삭제
Call DeleteDuplicateCol(TargetSheetName:=shtWork, StartRow:=2, Col:=targetCol)
'Tech > VBA' 카테고리의 다른 글
VBA 셀에 문자열 설정 (0) | 2020.01.15 |
---|---|
VBA 셀 내의 강제개행코드(Shift + Enter) 삭제 (0) | 2020.01.15 |
VBA 복사 붙여넣기를 통한 여러 워크시트 내용 통합 (0) | 2020.01.14 |
VBA 지정 폴더 내의 파일 Loop (0) | 2020.01.14 |
VBA 워크시트 초기화 (0) | 2020.01.14 |