엑셀을 사용하다보면 FIND함수를 사용하는 경우가 있을 것입니다.
엑셀VBA에서도 이와 같은 역할을 하는 함수가 있는데 바로 instr함수입니다.
istra함수는 다음과 같이 활용합니다.
instr(1,2,3,4)
1에는 문자열 시작 위치를 나타내고 2는 문자열, 3은 찾을 문자, 4는 옵션입니다.
여기서 생략이 불가능한 것은 2와 3입니다.
생각해보면 당연한데 어디에서 무엇을 찾으라는 함수이기 때문에 어디에서에 해당하는 2와 무엇을 의미하는 3은 반드시 들어가야 합니다.
1과 4는 생략이 가능한데 1,2,3이 있고 4가 없는 형태, 2와 3만 있는 형태는 결과값이 나오지만 2,3,4만 있고 1이 없다면 에러처리가 됩니다.
한번 실험을 해보겠습니다.
Show me the money 에서 show가 언제나오나? 를 코딩해보았습니다.
instr함수는 기본적으로 대문자, 소문자를 구별하기 때문에 Show와 show는 다르기 때문에 아래의 결과값은 0이 나와야 합니다.
그래서 F5를 눌러 실행을 해보니
0이 나왔습니다.
즉 Show me the money 에 show는 존재하지 않는다는 것입니다.
만약 대문자와 소문자가 구별이 되지 않았다면 Show와 show를 같은 것으로 인식해서 제일 처음에 나왔으므로 1의 숫자를 반환했을 것입니다.
정말 그렇게 되는지 1과 4에 숫자 1을 넣어보았습니다.
4는 옵션을 넣는 곳으로 1을 넣게 되면 대문자, 소문자를 구별하지 않게 하는데 4에 옵션 숫자를 넣으면
1에도 시작하는 위치를 반드시 넣어야 하기 때문에 1이라고 넣었습니다.
그리고 2와3의 위치에 문자를 넣으려면 ""를 붙여주어야 한다는 것을 앞에 적었어야하는데 못적어서 지금 얘기합니다.
그렇게 했더니 Show와 show를 같다고 인식해서 1이라는 숫자를 반환했네요.
당연히 많지 않은 자료내에서는 이렇게 VBA instr함수를 사용하는 것보다 그냥 find를 쓰면 더 빠르지만 공부하다보면 더 좋은 활용방법이 언젠가는 나올 것 같습니다.
초반에는 한두개씩 함수를 일단 익혀나가봅시다.
'IT 컴퓨터상식 > 엑셀 VBA' 카테고리의 다른 글
페이지 번호, 슬라이드 번호 이쁘게 구석에 넣기 (0) | 2023.01.05 |
---|---|
CAGR 엑셀 RATE함수로 구하기 주의할 점 (0) | 2022.12.29 |
엑셀 VBA란 (0) | 2020.12.03 |
엑셀 VBA 프로시저 뜻 (0) | 2020.11.15 |
엑셀VBA 실행 및 모듈창 열기 - msgbox (0) | 2020.11.14 |