본문 바로가기

VBA280

[기초방] VBA 100제 #21 [ 반별 총점/평균 구하기 ] 과목의 총점 평균 구하기는 엑셀을 시작하면서 늘 반복적으로 해왔던 일이었으리라... 그래서 이러한 문제는 수식을 이용해서 풀어나가는게 맞다고 본다. 같은 방 크루인 무지님의 코드이다. 수식으로 풀고 마지막에 수식을 값으로 변경하는 코드를 사용하였다. 수식으로 풀면서 좋은건 영역을 선택한 후 수식을 입력하게 되면 영역을 순환하지 않고 바로 그 영역에 수식이 들어감으로 코드가 훨씬 짧아진다. 무지님의 코드에 사용된 Sumifs 와 본인의 코드인 Application.Sumifs와의 사용을 비교하여 보길 바란다. 엑사남님은 늘 말한다. VBA에 전에 엑셀함수라고 항상 기본에 충실하자... 그래도 이건 아니지 않니??? 모~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~.. 2023. 1. 26.
[기초방] VBA 100제 #20 [ 패턴별 색상칠하기 ] 1번부터 1000 * 20 번까지 3,6,9 가 들어간 숫자를 찾고 그숫자의 갯수가 짝수번이면 컬러인텍스를 8 / 그렇지 않으면 컬러인덱스를 6으로 하는 구문이다. 아래는 같은 크루인 딱총님이 작성한 코드인데 정규식을 모르는 상태에서 몇일만에 놀랍도록 빅스텝 성장을 보여주었다. 딱총님의 내일을 응원한다...물론 우리 무지님과 시훈아빠 그리고 닥터 브레드님도 항상 본인의 문제에 관심을 가져주셔서 감사드린다. 정규식을 안쓰면 숫자들을 순환하며 Mid로 하나씩 걸러서 하나씩 비교해나가야 하지만 정규식을 사용하면 정규식의 Test와 Execute로 간단하게 풀 수 있는 문제이다. 더보기 Option Explicit Sub 기초방20() Dim rngall As Range: Set rngall = [d6].Res.. 2023. 1. 26.
[심화방] VBA_심화_100제 #9 [ JsonConverter : 환율불러오기 ] 예전에 크롤링을 배우기 위해서 https://www.youtube.com/watch?v=4hoXQMi2SSk&t=40s 한때 엑셀장인 촬스님채널에서 크롤링을 단계적으로 공부하였다. 당시 촬스님은 구독자분들의 요청이나 질문사항을 정리해서 당신의 크롤링 기법으로 강의를 하시곤 했다. 그중 하나인 환율을 가져오는 구문을 당시 촬스님이 하신 익스플로러 기반의 크롤링이 아닌 셀레니움 기반으로 환율을 가져오는 것을 이벤트로 진행하는 구문을 만들어 보았다. 이번 구문은 xmlHttp나 winHttp 방식으로 비브라우저 방식으로 하는것이 정석이고 정답이다. 허나 지금 우리가 셀레니움을 계속 공부하고 있어 셀레니움과 JsonConverter 조합으로 풀어보려고 한다. 여기에 비하인드 스토리가 있는데 본인이 가지고 있던 .. 2023. 1. 20.
[심화방] VBA_심화_100제 #8 [ 동행복권 당첨내역 엑셀 다운로드 ] 우측 하단에 엑셀다운로드를 누르면 1회차부터 최근까지 엑셀 파일이 다운로드 되는 셀레니움 자동화를 해보려한다. 처음에 링크를 들어가면 최근회차의 당첨내역만 나오기 때문에 1회차부터 최근까지로 드롭박스를 변경해줘야한다. '= 자바스크립트 드랍다운 선택 Sel.ExecuteScript "document.querySelector(""#drwNoStart"")[document.querySelector(""#drwNoStart"").selectedIndex].value = 1;" '= 셀레니움 드랍다운 선택 Sel.FindElementByCss("#drwNoStart").AsSelect.SelectByValue 1 둘 중 편한걸로 선택 더보기 Sub 동행복권() Dim Strurl$ Strurl = "https:.. 2023. 1. 18.