본문 바로가기

VBA280

[기초방] VBA 100제 #44 [ 각종 통화 할인율 구하기 ] 정규식을 이용한 파씽문제이다. 문제에서 한자리 통화기호 + 금액 / 할인율을 파씽하여 그 결과를 도출하는 문제이다. 처음 본인이 했던것은 1그룹(통화기호 + 금액) / 2그룹(할인률) 이렇게 하여 통화기호를 분리하여 계산후 다시 통화기호를 붙히는 작업을 하였는데, 1그룹(통화기호) + 2그룹(금액) + 3급액(할인률) 이렇게 분리하는게 코드가 좀 더 깔끔할 것 같아 수정하였다. 패턴설명은 이렇다. (1그룹 : 숫자앞에 임의의 한자리)+(2그룹:숫자열) [.+? : 의미없는 문자] +(3그룹: 1자리부터3자리의 숫자와 퍼센트기호) With Mat(0) rngA(1, -2) = .submatches(0) & .submatches(1) '= 통화 기호 + 통화 rngA(1, -1) = .submatches(2.. 2023. 3. 17.
[기초방] VBA 100제 #43 [ 조합 정렬하기 ] 기초 43의 나열된 문자열에서 숫자들을 하나식 가져와서 고유값과 그 중복된 값을 구하는 구문이다. 이런 구문의 문제는 딕셔너리나 어레이리스트 같은 오브젝트 개체로 구하는 것이 더 간단하다.. 하지만 우린 지금 셀기반 기초코드로 문제를 풀어야 하기 때문에 applicaton.match와 typename 으로 풀어보도록 하자 mid(rngX, i, 1) 로 구해진 숫자는 TypeName이 String으로 도출됨으로 Clng로 String 타입을 Long 타입으로 변경해줘야 한다. If TypeName(Application.Match(CLng(Mid(rngX, i, 1)), [e6:e20], 0)) = "Error" Then Cells(Rows.Count, "e").End(3)(2) = Mid(rngX, i,.. 2023. 3. 16.
[심화방] VBA_심화_100제 #12 [ 셀레니움 자동화테스트] 셀레니움 사이트 자동화 테스트이다. 사이트 주소는 다음과 같다. https://www.tutorialspoint.com/selenium/selenium_automation_practice.htm Selenium - Automation Practice Form Selenium Automation Practice Form - www.tutorialspoint.com 드롭박스를 선택하는 방법은 아래와 같은데...AsSelect의 매소드로 인덱스, 값과 옵션등 여러가지가 더 있으니 연구해보길 바란다. Sel.FindElementByCss("select[name='continents']").AsSelect.SelectByText "Asia" 더보기 Sub Sel_Exp() Dim strUrl$ strUrl = ".. 2023. 3. 16.
[기초방] VBA 100제 #42 [ 고급필터 ] 데이터를 새롭게 추가하고 또한 검색을 하는 이벤트 문제이다. 각 시트에 해당하는 이벤트들은 해당시트에서 한번만 사용가능하므로 여러가지 또는 여러 영역에서 이벤트를 발생하려면 Boolean을 통해서 KEY 역할을 하게 하여 적지적소에 이벤트를 발생시켜야 한다. 이 구문은 이렇다. 데이터 영역과 검색 영역이 있는데, 데이터 영역에는 모든 데이터가 입력되었을 때 이벤트가 발생해야 하고, 고급필터의 검색 영역은 일부 검색어 일치에 반응해야 함으로 이를 억지로 하나로 묶어버리면 의도한대로의 이벤트가 발생하지 않는다. 그렇기 때문에 Bln으로 영역을 양분해서 각각의 상황에 맞게 이벤트를 발생시키면 된다. If Not Intersect(rngS, Target) Is Nothing Then bln = True '= 검.. 2023. 3. 16.