1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

[레벨:30]아별

2011.10.04 15:07

테스킨님..

기존 답변에 잘 못된 점이 있어 정정 답변 드립니다.

EVALUATE가 매크로 함수이기 때문에 사용자 정의 함수로 구현할 수 없다는 말씀을 드렸었는데요..

EVALUATE가 매크로 함수 뿐만 아니라 APPLICATION의 메서드로 제공되고 있더라구요.. 쿨럭~

 

아래와 같이 사용자 정의 서식을 작성하시면 됩니다.

실 적용예는 첨부파일을 참고하세요..

다운 받기 : abyul.com_20100111_BM_EVALUATE-5.xls

 

 
'### 문자열 수식을 계산하기 위한 사용자 정의 함수
'### Created by Joowon Oh @ abyul.com
Public Function makeValueFunction(rngTarget As Range, Optional strOption As String)
    Dim strResult As String: strResult = rngTarget.Value
    Dim strArray(): strArray = Array("G", "S", "T", "F")
    Dim intArray()
    If strOption <> "" Then
        Select Case strOption
            Case "G": intArray = Array(1, 0, 0, 0)
            Case "S": intArray = Array(0, 1, 0, 0)
            Case "T": intArray = Array(0, 0, 1, 0)
            Case "F": intArray = Array(0, 0, 0, 1)
            Case "All": intArray = Array(1, 1, 1, 1)
        End Select
        For i = 0 To UBound(strArray)
            strResult = Replace(strResult, strArray(i), "*" & CStr(intArray(i)))
        Next i
    End If
    makeValueFunction = Application.Evaluate(strResult)
End Function
 

 

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)