일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- matlab
- 파이썬
- 윈도우11
- 엑셀
- pyqt5
- Windows11
- windows
- win32com
- git
- 문자열
- Android
- Outlook
- 비주얼베이직
- Excel
- VBA
- pythongui
- 깃
- 오피스
- 파워포인트
- 윈도우10
- python3
- 파이썬3
- python
- 파이썬GUI
- office
- 안드로이드
- 아웃룩
- html
- Windows10
- pandas
Appia의 IT세상
엑셀[Excel] Win32com 이용하여, 셀 오름차순, 내림차순 정렬하기(Sort) 본문
엑셀[Excel] Win32com 이용하여, 셀 오름차순, 내림차순 정렬하기(Sort)
Appia 2021. 5. 20. 05:49엑셀[Excel] Win32com 이용하여, 셀 오름차순, 내림차순 정렬하기(Sort)
엑셀을 많은 셀을 바탕으로 다양한 부분들에 대해서 데이터를 활용할 수 있는 도구입니다. 수많은 데이터가 쌓이다 보면 그 데이터에 대한 정리가 필요로 할 때가 있습니다. 그래서 이번 포스팅에서는 엑셀의 셀에 대해서 정렬하는 방법에 대해서 win32com을 이용하여 살펴보도록 하겠습니다.
이번 포스팅을 진행하기 앞에서, 관련된 내용은 Pywin32모듈을 바탕으로 진행됩니다. 따라서 관련된 부분에 대해서 다음 링크의 부분을 활용해야 하기 때문에 Pywin32을 설치 해주시길 바랍니다.
먼저, 셀을 정렬하기 위해서는 다음과 같은 Method에 대해서 인자하고 있으셔야 합니다.
Sort(Key1, Order1, Orientation) |
Key1의 경우 정렬를 진행할 때, 근거가 되는 셀을 위치를 이야기하고, Order1의 경우 내림차순, 올림차순에 대한 설정입니다. Orietnation의 경우는 Columns 기반으로 정렬할 것인지 Row 기반으로 정렬할 것인지에 대해서 이야기를 합니다.
속성 | Value | 설명 |
Order1 | 1 | 오름차순 |
2 | 내림차순 | |
Orientation | 1 | Column |
2 | Row |
그럼 다음 코드를 보면서 살펴보겠습니다.
import win32com.client
excel = win32com.client.Dispatch("Excel.Application")
excel.Visible = True
workbook = excel.Workbooks.Add() # WorkBooks 생성
sheet = workbook.Worksheets("Sheet1")
sheet.Range("A1").value = "1"
sheet.Range("A2").value = "6"
sheet.Range("A3").value = "3"
sheet.Range("A4").value = "2"
sheet.Range("A5").value = "4"
sheet.Range("A6").value = "5"
sheet.Range("A7").value = "8"
sheet.Range("A8").value = "7"
sheet.Range("B1").value = "TEST_A"
sheet.Range("B2").value = "TEST_F"
sheet.Range("B3").value = "TEST_C"
sheet.Range("B4").value = "TEST_D"
sheet.Range("B5").value = "TEST_V"
sheet.Range("B6").value = "TEST_F"
sheet.Range("B7").value = "TEST_X"
sheet.Range("B8").value = "TEST_H"
sheet.Columns("A:B").Sort(Key1=sheet.Range("A1"),Order1=2, Orientation=2)
위에서 보이는 바와 같이 A, B Column에 각 데이터들을 입력하게 됩니다. 이 부분을 토대로 정렬를 진행하게 됩니다. 그럼 마지막 부분의 라인을 조금 더 살펴보도록 하겠습니다.
sheet.Columns("A:B").Sort(Key1=sheet.Range("A1"),Order1=2, Orientation=2)
위부분은 바로 정렬이 이루어지는 코드 부분입니다. 최초 Columns("시작 : 끝")부분의 영역에 Sort 부분을 적용한 것입니다.
이 때, Range를 잡는 부분이기 때문에 Rows로 사용하여 관련된 부분에 대해서 적용이 가능합니다. 그리고 각 옵션들을 위에 언급된 속성에 대한 표를 참조하여 입력해주시면 됩니다. 그리고 만약 정렬의 기준 점을 B행으로 바꾸고 싶으시다면, Key1 부분의 선택된 셀을 "B1"으로 바꿔 주시면 됩니다.
위의 예시 코드를 실행하면 다음과 같은 결과가 나타납니다.
이와 같은 방식으로 셀을 오름차순 또는 내림차순으로 정렬할 수 있습니다.
파이썬 [Python] win32com 이용하여, 엑셀(Excel)에서 셀의 데이터 타입에 따른 셀의 색 변경하기
이번 포스팅에서는 엑셀[Excel] Win32com 이용하여, 셀 오름차순, 내림차순 정렬하기(Sort)라는 주제로 포스팅을 해봤습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다. 감사합니다.
'Python > Python Office 자동화_EXCEL_Outlook' 카테고리의 다른 글
파이썬 [Python] win32com 이용하여, 아웃룩(Outlook) 연락처 정보의 메일 이름, 주소 출력하기 (0) | 2021.05.24 |
---|---|
파이썬 [Python] win32com 이용하여, 아웃룩(Outlook) 첨부파일 첨부하여 메일 보내기 (0) | 2021.05.22 |
엑셀[Excel] Win32com 이용하여, 특정열의 같은 내용끼리 셀 병합하기 (Merge하기) - 엑셀 자동화 (3) | 2021.05.18 |
엑셀[Excel] Win32com 이용하여, 셀 복사(Copy) 붙여놓기(Paste) - 엑셀 자동화 (2) | 2021.05.16 |
파이썬 [Python] win32com 이용하여, 엑셀(Excel)에서 셀의 데이터 타입에 따른 셀의 색 변경하기 (0) | 2021.05.14 |