[excel - python - uipath] 엑셀 자동화에 대해서 알아보자(4-1)

루까까·2023년 7월 31일
0

Excel 자동화

목록 보기
7/25

이번 시간에는 Clear Sheet/Range/Table activity에 대해서 알아보자.

1. Clear Sheet/Range/Table

Clear Sheet/Range/Table이란, excel의 특정 시트, 범위를 지우는 기능을 제공하는 activity다.

지울 범위에 개발자가 원하는 범위 혹은 시트를 기입하고 해당 activity를 실행하면 해당 범위(혹은 시트)에 있는 데이터를 삭제한다.

  • 특정 시트의 데이터를 지우고자 할 때 코드는 다음과 같다.
Excel.Sheet("시트명")
  • 특정 시트의 특정 범위를 지우고자 할 때 코드는 다음과 같다.
Excel.Sheet("시트명").Range("범위")

여기서 범위는 A1:B2로 기입을 하면 된다.

  • 좌측 하단 '머리글 포함' 의 경우 특정 시트의 데이터를 지우고자 할 때, 유용하게 쓸 수 있다.
  • 해당 체크박스를 클릭하고 시트를 삭제 할 때, 머리글은 빼고 삭제되기 때문에 적절한 상황에 맞게 사용하면 좋다.
    (물론 체크박스를 표시하지 않으면 해당 시트 전체 데이터를 전부 삭제한다.)
  • 특정 범위 삭제의 경우는 크게 상관이 없는데 애초에 특정범위 삭제는 삭제하고자 할 범위를 지정하기에 머리글 유무가 필요가 없기 때문이다.

Clear Sheet/Range/Table 공식문서

2. 연습

연습용.xlsx sheet1에 다음과 같은 데이터가 있다고 가정하자.

1. 특정 시트 삭제

특정 시트 삭제를 연습해보자. 필자는 특정 시트를 sheet1으로 지정하였다.

1-1. 머리글 포함인 경우


실행 결과

머리글 포함 체크 박스를 선택 후, 수행하였을 때 결과물은 위에서 서술한 것 처럼 머리글을 제외한 나머지 데이터를 삭제 해준다.

1-1. 머리글 포함하지 않는 경우


실행 결과

머리글 포함 체브 박스를 선택 하지 않고 수행하였을 때 결과물은 머리글을 포함한 해당 시트의 모든 데이터를 삭제해 준다.

2. 특정 범위 삭제

특정 범위 삭제를 연습해 보자. 필자는 특정 시트를 sheet1 특정 범위는 A1:B2로 설정 하였다.

실행 결과

설정한 특정 범위인 A1:B2가 삭제된 모습을 볼 수 있다.

여담

연습을 통해 특정 시트와 특정 범위를 삭제하는 방법에 대해서 알아 보았다. 그럼 해당 activity를 통해 특정 cell을 지우는 기능은 없을까?
해당 기능은 물론 지원한다. 앞서 이야기했던 특정 범위를 특정 cell로 바꾸어서 기입하면 해당 cell값만 지워준다.
예를들어 A2만 지우고 싶을때는

Excel.Sheet("sheet1").Range("A2")

라고 기입을 해주면 된다.

여담2

특정 범위를 지우는 경우 머리글 유무 체크박스가 크게 의미가 없다고 하였지만 만약 내가 지우고자 하는 범위에 머리글이 포함되어 있는 경우 머리글은 제외하고 삭제하고 싶을 때 해당 체크 박스를 선택하면
특정 범위 머리글을 제외한 나머지 값들을 없애준다.
예들들어

Excel.Sheet("sheet1").Range("A1:B2")

로 하고 머리글 포함 체크박스를 선택 후, 수행하면 A2:B2값만 지워준다.(A1:B1는 머리글로 인식)

  • Excel.Sheet("sheet1").Range("A2:B2") 로 해도 같은 결과물이 나온다.
  • 필자는 전자의 방법보다 후자로 표시하는 것을 더 선호한다.
  • 타인이 내 코드를 보고 유지/보수를 할 때, 가독성 측면에서 후자가 압도적으로 보기 편하기 때문이다.(머리글 생각할 필요 없이 바로바로 알 수 있기에)
profile
기타치는 개발자

0개의 댓글