본문 바로가기

VBA271

[VBA_Unmerge] 병합셀 해체하고 같은 같으로 채우기 이번 시간은 병합된 셀을 병합을 풀고, 푼 영역을 원래 값으로 채우는 코드를 만들어 보자. Unmerge 코드는 크게 보면 전체영역을 잡고 그 영역을 For each로 개체 순환하며, 병합셀을 Unmerge 하며 그 본래의 값을 Unmerge 영역에 담아주면 된다. 코드는 이렇다. 이런 코드를 처음 접하는 분들은 아직 익숙해지지 않아서일 뿐이지 크게 난이도가 있는 코드는 아니다. 오늘은 Unmerge에 대해서 글을 쓸려고 했지만 이 문제를 내기 위해서 만든 코드가 오히려 고급 코드들이 많아서 문제 만드는 코드까지 이어서 글을 써보려 한다. 사용된 코드는 크게 Collection과 Find 그리고 엑셀 함수인 RandBetween이다. 1. 영역에 랜덤하게 1부터 6까지의 숫자를 뿌려주고 2. Collec.. 2021. 8. 6.
[VBA_merge] 같은 연번 부분합 구하기 엑셀을 조금이라도 다룰 줄 아시는 분이라면 병합 셀로 자료를 만드는 것이 얼마나 위험(?)하고 관리하기 힘든지 아시리라 본다. 허나 병합 셀을 즐기는 엑찔이가 우리 주위에는 너무나도 많기에 엑사남인 우리는 배울 필요도 없는 이 엑셀에서의 병합된 셀을 다루는 방법을 배워야 한다. 문제는 이렇다. 같은 연번 내에 같은 성명이 들어간 경우 중복된 성명은 제거하고 대신 점수만 합산하는 문제이다. 마지막에는 같은 연번은 하나로 병합해야 해야하는 정말 다음 어떤 작업을 할지 모르겠지만 내일이 없는 작업이다. 이번 문제를 해결하기 위해서 1. SpecialCells가 사용되었다. 상수 내장상수 뜻 4 xlLogical 빈셀만 선택 2 xlTextValues 공백을 제외한 숫자,문자 선택 1 xlNumbers 숫자선택.. 2021. 8. 5.
[VBA_merge]병합셀 숫자에 맞게 셀 병합 후 연번붙히기 이번 문제는 왼쪽에 있는 병합셀 크기와 함께 셀들을 병합시키면서 병합된 셀부분을 처음부터 끝까지 연번을 붙히는 문제입니다. 결과 : 셀크기에 따라 연번 영역이 병합되었고, 가운데 정렬과 모든 영역에 그리기 선이 채워졌으며 연번부분에는 차례로 연번이 출력된 것을 확인할 수 있다. 2021. 8. 4.