2016-06-27 3 views
1

Ok ... 오늘 내 머리가 마침내 내 두뇌가 휴가가 된 것 같습니다. 나는 웹 사이트에서이 개 필드를 추출하고 난Excel VBA의 통화 값 구문 분석

vData = "Amount Owed [EXTRACT]$125.00[EXTRACT] 

vData 배열 (문자열)로 선언 된이 문자열을 얻을.

나는 [EXTRACT]vData을 분할하고 나는이 같은 두 문자열 변수로 끝날 :

varA = "Amount Owed" 
varB = "$125.00" 

, 나는

Dim varC as Currency 
varC = val(varB) 

은 내가 If 문에 varC를 사용하려면 사용 varB을 구문 분석하려면

If Val(VarC) <> 0 Then 

나는 125로 varC을 기대하지만 varC 볼 때 나는 알아낼 수 없습니다 0입니다 이유 varC = 0이 아니라 125

답변

1

사용 CCur(varB) 대신 Val(varB). CCurCurrency 유형으로 변환되므로 $ 및 기타 정보를 알고 있습니다. MS docs에서

설명 :

... 당신이 CCur, 서로 다른 자릿수 구분, 다른 천 개 단위 구분 기호를 사용하고, 다양한 통화 옵션이 제대로 컴퓨터의 로케일 설정에 따라 인식됩니다.

Valonly looking for straight numbers이다

Val 함수가 다수의 부분으로 인식 할 수없는 첫 번째 문자의 문자열을 읽는 멈춘다. 달러 기호 및 쉼표와 같이 숫자 값의 일부로 간주되는 기호 및 문자는 인식되지 않습니다.

+0

@cxw ............. 정보 및 제안에 감사드립니다. 나는 과거에 "발"을 사용했다고 생각합니다. ($ 기호없이) 그래서 아마도 제가 찾고 있던 번호를 주었을 것입니다. – Shaves