
포함된 표현식의 결과를 찾기 위해 Excel 연결 문을 구문 분석하고 싶습니다. 예: =CONCAT("=1-2-3+7*8")
52를 반환해야 하며
=CONCAT("=AVERAGE(A1,A2)")
두 필드의 평균을 반환해야 합니다. Excel에서 이를 수행하는 기능이나 다른 방법이 있습니까?
답변1
다음 사용자 정의 함수를 사용해 보세요.
Public Function raghav(rng As Range) As Variant
Dim s As String
s = Mid(rng(1).Formula, 2)
arr = Split(s, Chr(34))
For Each a In arr
If Left(a, 1) = "=" Then
raghav = Evaluate(a)
Exit Function
End If
Next a
End Function
사용자 정의 함수(UDF)는 매우 쉽습니다.설치하다그리고 다음을 사용하세요:
- ALT-F11은 VBE 창을 불러옵니다
- ALT-I ALT-M은 새로운 모듈을 엽니다
- 내용을 붙여넣고 VBE 창을 닫습니다.
통합 문서를 저장하면 UDF도 함께 저장됩니다. 2003 이후 Excel 버전을 사용하는 경우 파일을 .xlsx가 아닌 .xlsm으로 저장해야 합니다.
에게제거하다UDF:
- 위와 같이 VBE 창을 불러옵니다
- 코드를 지워라
- VBE 창을 닫습니다
에게사용Excel의 UDF:
=raghav(A1)
일반적인 매크로에 대해 자세히 알아보려면 다음을 참조하세요.
http://www.mvps.org/dmcritchie/excel/getstarted.htm
그리고
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
UDF에 대한 자세한 내용은 다음을 참조하세요.
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
이 작업을 수행하려면 매크로를 활성화해야 합니다!