Jelmer는 많은 재무 데이터로 작업하며 워크 시트의 정보는 여러 국가의 통화로 표시 될 수 있습니다. 구분하는 유일한 방법은 셀 서식에 사용되는 통화 기호를 사용하는 것입니다. 예를 들어, “EUR”또는 “SEK”통화 기호를 사용하도록 셀 형식을 지정할 수 있습니다. Jelmer는 수식에 주어진 셀의 서식을 지정하는 데 사용되는 통화 기호를 결정하는 방법이 있는지 궁금합니다.

Excel에는 원하는 항목을 반환하는 내장 워크 시트 함수가 없으므로 수식에서 수행 할 수 없습니다. 그러나 원하는 정보를 반환하는 고유 한 사용자 정의 함수를 만들 수 있습니다. 다음은 예입니다.

Function GetCurrency(rCell As Range) As String     Dim sTemp As String     Dim sKeep As String     Dim sThrowAway As String     Dim J As Integer

Application.Volatile     sKeep = "Not a Numeric Value"

If IsNumeric(rCell) Then         sThrowAway = "0123456789.,()+- ]"

sTemp = rCell.Text         sKeep = ""



For J = 1 To Len(sTemp)

If InStr(sThrowAway, Mid(sTemp, J, 1)) = 0 Then                 sKeep = sKeep & Mid(sTemp, J, 1)

End If         Next J     End If     GetCurrency = sKeep End Function

이 함수를 사용하려면 B7 셀에있는 모든 항목에 대해 통화 기호를 원한다고 가정하고 다음을 사용합니다.

=GetCurrency(B7)

이것은 셀의 .Text 속성이 셀에있는 모든 형식의 버전을 반환하기 때문에 작동합니다. 셀에 숫자 값 (함수 테스트)이 포함되어 있다고 가정하면 서식이 지정된 텍스트가 sTemp 변수에 할당됩니다. 그런 다음 해당 텍스트의 각 문자를 sThrowAway 문자열에있는 것과 비교합니다. 일치하는 항목이 있으면 해당 문자가 무시되고 그렇지 않으면 sKeep 변수에 추가됩니다.

이것은 함수가 반환하는 것입니다.

또한 평가중인 셀에 숫자 값이 없으면 오류 메시지 ( “숫자 값이 아님”)가 반환됩니다.

함수에 대해 알아야 할 사항이 있습니다. 대상 셀의 서식을 변경하면 매크로가 트리거되지 않습니다. 이것은 Excel 자체의 단점 인 것처럼 보입니다. 형식을 변경할 때 워크 시트 재 계산을 트리거하지 않으므로 매크로 자체가 트리거되지 않습니다.

그러나 다음에 재 계산이 필요한 워크 시트를 변경할 때 트리거됩니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (13787)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.