2014-02-19 3 views
0

여기 거래가 있습니다. 나는 코드 기반의 고급 필터를 사용하여 데이터베이스 검색을하고있다. (코드에 의해 생성 된) 기준은 모든 데이터를 텍스트로 취급하고 부분 조회를 용이하게하기 위해 입력 된 내용의 앞면과 뒷면에 *를 추가합니다.Excel에서 "회계"형식의 숫자를 텍스트로 변환

내 필드 중 하나 (데이터 중간에 하나만 있고 구별 할 수 없음) 중 하나가 "회계"형식입니다. 텍스트로 서식을 지정하여 쿼리 할 수있게하려고합니다. 그러나 TEXT() 함수를 사용하여 형식을 지정하고 서식을 지정할 때 (텍스트로 저장된 숫자가 필요한 다른 모든 경우와 마찬가지로) 사전 설정 중 하나 인 "Accounting"을 허용하지 않습니다. 또한 Excel의 자체 사용자 지정 형식 양식에서 형식을 복사하여 붙여 넣으려고하면 _ (* #, ## 0.00 _); _ (* (#, ## 0.00); ? ), (@_)이면 셀에 #VALUE 오류가 발생합니다.

해당 형식 문자열을 선택적으로 트리밍하면 더 이상 오류가 나타나지 않지만 숫자를 가져올 수 없습니다. 열이 (회계 형식의 포인트입니다) 소수점에 정렬합니다.

이 도와주세요.

답변

2

을 형식 문자열이 거기에 따옴표를 가지고 있기 때문에 당신은 # VALUE의 오류가 발생합니다. 당신이

를 사용하는 경우
=TEXT(B2,"_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)") 

큰 따옴표를 이스케이프 (두 배로 늘림)하면 오류가 발생하지 않습니다. 그러나 원하는 결과를 얻지 못할 것입니다. 숫자 형식과 TEXT 함수가 생성하는 것과는 약간의 차이가 있습니다. 나는 그들 모두가 무엇인지 모르지만 이것은 하나이다.

하나의 옵션은 사용자 고유의 기능을 작성하는 것입니다. 이 함수는 회계 형식의 숫자를 문자열로 변환하고 통화 기호와 첫 번째 숫자 사이의 공백을 보존합니다.

Public Function GetRealText(Cell As Range) As String 

    Application.Volatile 
    GetRealText = Cell.Cells(1).Text 

End Function 

catch가 있습니다. 열의 크기를 조정하면 Range.Text 속성이 변경되지만이 함수는 자동으로 업데이트되지 않습니다. 휘발성이지만 열 너비를 변경해도 다시 계산이 시작되지 않습니다. 수동으로 다시 계산해야합니다. 그렇지 않으면 트리거해야합니다.

+0

이 확실히 * A * 솔루션입니다. 내가 원했던 것보다 더 많은 것이었지만 나는 원했던 것보다 작았습니다. 필자는 위의 두 줄짜리 솔루션을 사용하여 형식을 작동시키기 위해 열을 등록하는 것을 올바르게 등록했습니다. 감사. 어쨌든 $ 기호는 꼭 필요한 것은 아닙니다. – Glamador

0

당신은 ' 접두사를 사용하여 텍스트로 숫자, 날짜 또는 값을 넣을 수 있습니다 :

Cells(1, 1) = "'" & MyNumber