2020년 3월 26일 목요일

[VBA] Excel Formula vlookup


요즘 VBA 공부하고 있는데 이것 저것 에러 해결 방법을 적어 둔다.

문제: VBA에서 ActiveCell.FormulaR1C1 을 활용해서 VLOOKUP을 사용하고 있는데
VLOOKUP에서 Lookupvalue 문자열에 ~을 인식 하지 못함

기존 식

ActiveCell.FormulaR1C1 = "=VLOOKUP([@상품명],Sales[[상품]:[타입]],3,FALSE)"

상품명에 ~ 문자열인식못해서 Substitute 함수를 이용해 변경 하려고함

변경 중 (에러남)

ActiveCell.FormulaR1C1 = "=VLOOKUP(SUBSTITUTE([@상품명],"~",""),Sales[[상품]:[타입]],3,FALSE)"

이것도 안됨 왜냐하면  " 문자열 때문에 VBA에서 받아주지 않음

변경 (정상작동)

ActiveCell.FormulaR1C1 = "=VLOOKUP(SUBSTITUTE([@상품명]," & Chr(34) & "~" & Chr(34) & "," & Chr(34) & "~~" & Chr(34) & "),Sales[[상품]:[타입]],3,FALSE)"

" 문자는 Chr(34)로 변경
"~"는 "~~" 로 변경해야 적용 가능하다.

참고 링크

정상 작동 확인



댓글 없음:

댓글 쓰기