본문 바로가기

ASC2

[기초방] VBA 100제 #39 [ 문자조합하기 ] 이번 문제는 characters + 정규식 문제의 확장편 정도로 생각해주면 좋을것 같다. 39번 문제는 [이전] 데이터를 보면 알겠지만 처음을 제외하곤 숫자 뒤에 % 가 4자리씩 순환하고 있는데 이걸 나머지 숫자에도 %을 삽입하라는 문제이다. 39-1은 이웃하지 않은 알파벳과 숫자의 조합으로 조합문자를 만들어 내는 것이다. 39번은 정규식으로 풀려면 패턴을 일치시켜야 하기에 정규식 패턴을 다음과 같이 만들어 보았다. 패턴설명은 뒤에 % 가 없는 숫자를 패턴으로 하는 정규식 패턴이다. firstindex는 일치 패턴의 바로 직전까지를 의미하기 때문에 firstindex + cnt를 함으로서 글자가 삽입되더라도 그 위치를 변경해가면서 결국 의도한대로 패턴과 일치된 숫자들 뒤로 % 를 삽입할 수 있다. Set.. 2023. 3. 14.
[기초방] VBA 100제 #17 [ CHR + ASC ] 이번 구문은 위아래 중복일때 뒤에있는 아스키코드값을 증가시키면서 알파벳을 변화시키는 구문이다. 이 구문이 정렬이 되었다는 가정하에서는 Countif로 뒤에있는 문자를 증가시키면서 해결해 나가면 된다. 하지만 36행을 보면 순서없이 코드하나가 빠져있다. 따라서 이번 문제는 Countif는 답이 아니다. 순차적으로 코드를 진행하면서 이전셀과 비교하면서 만일 같다면 ASC 코드를 증가시키면서 코드를 증가시키면 된다. ElseIf rngX = rngX(0, 1) Then i = i + 1 Str = Left(rngX, Len(rngX) - 1) rngX.Next = Str & Chr(Asc(Right(rngX, 1)) + i) Else Asc(A)는 65를 반환하고 Chr(65 + 1) 은 B 를 반환한다. 전.. 2023. 1. 17.