본문 바로가기
카테고리 없음

엑셀 VBA 매크로: 문자열에 특정문자 포함여부 확인- instr()

by 데이터스토리 2022. 5. 22.
반응형

instr(문자열, 찾을문자열 : 문자열에 특정 문자가 들어 있는 지를 점검하는 함수.

 

선택된 폴더에 담긴 모든 파일을 다루어야 하는 작업이 있었다.

그런데, 그 작업하는 엑셀 파일에 선택된 폴더 경로에 담겨있으면 경고를 보내야 했다.

 

그래서 선택된 폴더 경로와 작업용 엑셀 파일의 경로를 비교해야 했다.

즉 엑셀파일 있는 경로에 선택된 폴더의 경로가 포함되었는지 점검하기 위해 사용한 함수가 instr()이다.

 

selectFolder = 선택된 경로가 담김
excelFolder = 작업하는 엑셀파일이 놓여진 경로

pos = instr(excelFolder, selectFolder)

 

여기서 pos가

"0" 이면 경로가 다른 것이어서 만족하는 것이고,

"1" 이상이면 작업파일이 있는 경로에 선택된 폴더가 있는 것이다.

 

if pos > 0 then 
    msgbox "경로가 겹칩니다. 다른 폴더를 선택하세요"
    end
end if

 

위와 같이 메세지를 보내고 종료시켰다.

 

 

instr() 함수는 유용하게 사용할 곳이 많다.

txt = "대한민국의 주권은 국민에게 있고, 모든 권력은 국민으로부터 나온다"
findStr = "권력"

pos = InStr(txt, findStr)
MsgBox pos

'-------- [결과]
'  23

 

 

처럼 코딩해서 원하는 문자열의 존재 여부를 파악할 수 있다.

 

/

반응형