엑셀(Excel) VBA – 수식을 문자열로 바꾸는 사용자정의 함수 만들기 |
환경 : Microsoft Excel 2010 |
이번예제는 사용자정의 함수를 만들어서 감춰진 수식을 문자열로 표현할수 있도록 해보겠습니다. 엑셀에서 수식을 보고 싶으면 Ctrl + ~ 단축키를 클릭하곤 합니다. 이것을 VBA 코드로 수행 하는 것입니다. 다른 사람이 만든 수식을 참조하고 싶을 때 적용하면 좋겠죠.
▼ 선택한 셀을 넘기게 되면 그 셀에 수식을 formula 속성으로 가져올수 있습니다. 그것을 리턴값으로 넘기면 되겠죠. 하지만 셀에 적용된 셀이 배열형태로 적용되었는지, 현재 셀에 수식이 적용되었는지 판단해야 합니다. 그 속성이 HasArray, HasFormula 입니다. 그리고 값이 없을 때는 빈 문자열로 넘기게 했습니다.
Function 수식문자열표현(cell As Range) Dim strFormula As String
If cell.HasArray Then strFormula = "{" & cell.formula & "}" ElseIf cell.HasFormula Then strFormula = cell.formula Else strFormula = "" End If 수식문자열표현 = strFormula End Function |
▼ 위의 소스를 저장하고 엑셀시트로 갑니다. 함수를 사용하기 위해 fn 클릭해서 사용자정의함수로 갑니다. “수식문자열표현” 함수를 선택합니다.
▼ 그리고 바로옆 셀을 인수로 넘깁니다. 다른 셀들도 드래그 해서 적용해 봅니다. 그럼 왼쪽에 적용되었던 수식이 문자열로 나오게 됩니다.
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀(Excel) VBA – Application.Version 개체로 엑셀 버전과 사용언어 알아보기 (0) | 2014.12.29 |
---|---|
엑셀(Excel) VBA – 셀에 적용된 같은 배경색 데이터 합산하기 (7) | 2014.12.28 |
엑셀(Excel) VBA – 문자열에서 숫자, 대문자, 소문자, 한글추출하기 (5) | 2014.12.24 |
엑셀(Excel) VBA – Application.Evaluate 함수 이용해서 수식문자열계산하기 (2) | 2014.12.23 |
엑셀(Excel) VBA – Application.Volatile 함수로 사용자정의함수 재구동 (2) | 2014.12.21 |
엑셀(Excel) VBA – 선택한 셀시트명, 파일명, 위치를 알아오는 사용자정의함수 (0) | 2014.12.20 |
엑셀(Excel) VBA – 사용자정의 함수 세부내용 VB 코드로 등록하기 (1) | 2014.12.19 |
엑셀(Excel) VBA - 셀영역의 값을 복사하기 (1) | 2014.12.18 |