VBA280 [VBA] 등급별 랜덤 순번과 전체순번을 구하라 등급은 A,B,C,D,E 총 5 등급이 있다. 등급을 나누는 조건은 또 있는데 5등급을 임의로 나누어서 셀에 뿌려 놓았다. 영역 [F1:G6]는 전체 영역에서 각 등급의 구성갯수를 엑셀의 Countif를 통해서 구하였다. 랜덤값을 구해야 함으로 Application.Randbetween(1 to 마지막값)을 구해야 한다. 각 등급별로 마지막값이 다르므로 전체영역을 순환하면서 등급을 확인 후 해당 등급의 구성값을 끌어와서 랜덤값을 도출하여야 한다. 도출된 값이 기존에 있던 값인지 결과배열(임시배열)에서 찾아본 후 값이 정상적으로 도출이 된다면 값이 중복 되었다는 것이고 값이 "Error"로 도출이 된다면 중복이 되지 않았다는 뜻이므로 셀에 출력 후 다음을 위해 중복 되지 않은 값을 배열에 담아주는 방식으로.. 2022. 4. 12. [VBA] VBA에는 없는 차집합 여집합 구성 우리가 많이 사용하는 Union과 Intersect를 사용하면서 혹시 그런 생각을 갖을적은 없는가?? 차집합과 여집합은 어떻게 표현하는 함수는 없을까???? 어....없어 없다고 하니 만들어 보자... A영역과 B영역이 있다고 하자 그들사이에 교집합 영역이 있다고 하면 교집합 영역을 어떤식으로 제거 해주냐에 따라 여집합과 차집합을 구할 수 있다. 여기만 생각해 놓고 혹시나 For 문으로 영역의 색상 값을 읽어서 A,B 영역과 교집합을 구분지으려고 했다면 Specialcells를 공부해 보길 바란다. 굳이 포문을 안태워도 값의 있고 없음을 각각의 셀이 아닌 전체 영역으로 한번에 값을 읽어오기 때문에 코드를 다이어트 할 수 있다. 교집합에 값을 넣고 빼면서 우리가 원하는 집합의 구성을 할 수 있다. Opti.. 2022. 4. 12. [VBA] 주문자별 상품별로 분류하기(Feat. 정규식) 파일을 만든 날짜를 보니 21.05.20에 만든 파일이다. 이걸 어떤분이 질문했던 내용으로 알고 있다. 물류에서 쇼핑몰 상품리스트가 들어왔을 때 이걸 주문자명으로 분류하고 다시 상품으로 분류하고 마지막으로 상품갯수로 분류하는 것이다. 주문 상품을 어떻게 분류할지의 알고리즘을 짜는게 관건이다. 또한 주문자의 상품의 종류와 갯수에 계속 배열의 크기가 달라지기 때문에 Vall( 1 to 7 , 1 to N) -> WorksheetFunction.transpose(Vall)로 결과 출력을 해야한다. 동적배열은 행은 증가되지 않고 열방향으로만 크기가 증가된다.(정말 중요하다) 너무너무 중요하고 아름다운 코드이다...꼭 기억해두길 바란다. Option Explicit Sub 상품나누기() Dim Vall() '= .. 2022. 4. 10. [VBA] VAT유저폼(feat. 인천_89_회계_가나) 오픈챗 크루인 가나님의 질문이다. 주말인데 어디~~가나~~? 본인이 한달전에 만든코드이다. 클래스 모듈을 모르면 이렇게 되는 것이다. 가나님도 이것때문에 질문을 하신거다... 클래스 모듈은 버튼을 큰 형식으로 분류하여 같은 형식인 버튼에 이름을 부여하여 같은 일을 처리할 수 있게 해준다. 다시 말하면 호출된 버튼이 커멘드 버튼이면 클래식 모듈에서 커멘드 버튼이 호출되면 모두 이렇게 처리해 텍스트박스 호출이면 모든 텍스트 박스는 이렇게 처리해...라고 모듈화할 수 있는 것이다. https://www.youtube.com/watch?v=bqByoL7oLyQ&t=892s 클래스 모듈뿐아니라 코드 기초를 잘 다루고 계신다...초보분들은 꼭 시청해 보시길 바란다. 가나님께서 유저폼에 계산식을 적어 놓으셨다..이거.. 2022. 4. 10. 이전 1 ··· 50 51 52 53 54 55 56 ··· 70 다음