본문 바로가기

엑사남172

[기초방] VBA 100제 #16 [ 이벤트 + 빈셀삭제하기 ] 이러한 문제는 임시적으로 배열에 담았다가 출력을 하면 더 쉽게 가능하지만 아직은 배열과정이 아니기에 철저하게 셀기반으로 풀어보려 한다. 크루들이 과제를 풀어가는 것을 보니 일단 이벤트 개념은 확실히 잡고 가는거 같다. 본인이 공부할때는 이벤트가 참 어려웠다. 엑사남님 강의를 제대로 안 들은것도 있었지만 모듈에서 짜던 코드들이 시트를 넘나 드는것을 보면서 많이 힘들었던 기억이 있다. 엑사남님 강의를 정독으로 3번쯤 볼때 '아..이걸 왜 어려워했지' 했을 정도로 강의 자체를 쉽게 쉽게 하셨으니, 지금 잘 이해가 안 가는 분들은 꼭 강의를 정독하길 바란다. 이벤트에서 Target 이라는 것은 쉽게 말해서 selection 이라고 생각하면 된다. 내가 선택한 셀 또는 영역이 target이 된다. 이문제에서 각 .. 2023. 1. 16.
[기초방] VBA 100제 #15 [ 이벤트 + 사용자함수 ] 이벤트와 사용자함수를 이용하여 해당값들을 찾는 구문이다. 열 찾는 구문에서 보통 column 함수를 사용하면 열번호를 반환한다. 그렇기 때문에 CHR 함수를 통해서 숫자를 열의 알파벳으로 변화를 해야한다. 엑셀함수는 CHAR 이고 CHAR(65) = A 와 같다. 아래 코드는 전체 영역을 순환하면서 일치값이 있으면 열 머리값을 반환하는 코드이다. For Each rngA In rngAll If rngA.Value = X Then Haja_find = Chr(64 + rngA.Column) Exit Function End If Haja_find = "일치없음" Next rngA 나머지 이벤트 코드는 초기화 한 후 일치값에 색상을 입히는 단순한 코드이다. 오늘도 화이팅한 당신께 박수를 보낸다. 더보기 Opt.. 2023. 1. 15.
[기초방] VBA 100제 #14 [ 이벤트 필터링하기 ] 엑사남님 강의중 9강부터 14강에 이벤트에 관한 강의가 올라와 있다. 이 이 강좌들을 보면 이벤트에 대한 감이 좀 잡히게 될 것이다. 매크로와 이벤트의 차이는 매크로는 전체적인 프로시저를 제어한다면 / 이벤트 프로시저는 해당하는 영역에 관해서 발생한다. 매크로는 모듈에서 작성되나, 이벤트는 Sheet에서 작성을 한다. 이번 구문에서 활용한것은 이벤트가 발생하였을 때 이벤트 영역을 설정한 후 매크로를 호출하는 형태로 진행하였다. 더블 클릭이벤트와 우클릭 이벤트는 맨 하단에 Cancel = true 이 구문을 꼭 넣어서 사용해야 매크로 이후에 더블클릭과 우클릭 고유의 명령이 실행되지 않는다. 이벤트가 진행될 때는 자칫하면 이벤트가 무한 반복되어 무한루프상태로 빠질 수 있기 때문에 Application.Ena.. 2023. 1. 15.
[기초방] VBA 100제 #13 [ 정규식으로 계산하기 ] 이번 문제는 숫자와 사칙계산 부호만을 이용하여 계산하는 문제이다. 숫자만 가져오는 구문은 like문처럼 [0-9] 이렇게 하거나 정규식 패턴은 \d 이렇게 하면 되는데, \d 는 1234 라는 숫자가 있으면 1만 선택이 된다. 여러자리의 숫자를 선택하려면 \d+ 이렇게 하면된다. 이 문제를 해결하기 위해서 본인이 사용한 패턴은 이렇다. .Pattern = "[^\d++-×÷]" 숫자가 아니고 사칙연산 기호가 아닌 모든것을 패턴으로 잡고 삭제하기 위함이다. 부정기호인 ^ 의 사용으로 선택된 패턴들이 반전되는것을 볼 수 있다. 우리가 사용하는 사칙연산 기호중 곱하기와 나누기는 컴퓨터가 이해하는 기호와는 다르기 때문에 변경을 해줘야 한다. If .test(rngX) Then str = Replace(.Repl.. 2023. 1. 15.