반응형
1. Evaluate 함수
가. 정의
엑셀 이름을 오브젝트 또는 값을 변환합니다(Converts a Microsoft Excel name to an object or a value).
이름(Name)은 수식(Formula)이 될 수도 있고, 셀 주소 또는 범위 등이 될 수도 있습니다.
나. 구문
expression.Evaluate (Name)
- expression은 오브젝트를 가르키는 변수로 Application, Book1.xlsx, Sheet1 등이 될 수 있습니다.
- Name은 아래와 같이 다양한 형태가 될 수 있는데, VBA 에디터를 실행한 후 직접 실행창에서 간단히 결과를 확인할 수 있습니다.
다. Name의 종류 및 사용 예
Name | 사용 예 |
Formulas | 수식으로 텍스트로 된 수식도 가능합니다. 예) 3*4, "5/2" ?evaluate("3*4") ![]() |
A1-style references | A1 형식 셀 주소로 큰따옴표 안에 넣어야지 큰따옴표가 없으면 변수로 인식하므로 에러가 발생합니다. 예) "A1", "C5" Evaluate("A6").Value = 25 는 A6셀에 25를 입력하는 것입니다. 메소드이므로 ?를 사용하지 않습니다. ![]() |
Ranges | 범위로, 교집합과 합집합 등을 나타내기 위한 연산자인 콜론, 공백(교집합), 쉼표(합집합) 등을 사용할 수 있수 있습니다. 예) "a1:c3", "a1:c3, f1:h3" , "a1:c3 b2:d4" [evaluate("a1:c3").font.bold=true] 의 실행 결과 ![]() [evaluate("a1:c3 b2:d4").font.bold=true]의 실행 결과 ![]() |
Defined names | 정의된 이름. 예) B4에서 D4까지 선택한 후 '사행선택'이라고 이름을 정의한 후 직접 실행창에서 evaluate("4행선택").font.bold=true라고 입력하고 엔터키를 누르면 B4에서 D4셀까지 범위만 글자가 굵게 됩니다. ![]() |
External references | 외부 참조. 다시 말해 Sheet1에서 Sheet2를 참조하거나, 통합문서1.xlsx에서 통합문서2.xlsx를 참조하는 경우를 말합니다. 예) ?evaluate("Sheet1!a5") ?evaluate("[텍스트수식3.xlsx]Sheet1!a5") ![]() => 값을 표시해야 하므로 print에 해당하는 물음표를 사용해야 하며, 엑셀 파일명, 시트명과 셀주소를 큰따옴표안에 넣고, 엑셀 파일명은 대괄호안에, 시트명과 주소는 !로 연 |
Chart objects | 차트 오브젝트의 속성 또는 메소드에 접근하기 위한 Legend(범례), Plotarea 등 차트 오브젝트 이름 예) ?activechart.evaluate("범례").Font.name ![]() 마이크로소프트 도움말 사이트에서는 ?Charts("Chart1").evaluate("범례").Font.name 가 된다고 되어 있는데, 아래와 같이 '아래 첨자 사용이 잘못되었다'는 에러 메시지가 표시됩니다. 여기서 아래 첨자란 차트이름을 지정하는 Charts("Chart1")이 잘못되었다는 것입니다. ![]() 그래서 차트 이름을 한글로 바꿔서 ?Charts("차트1").evaluate("범례").Font.name 이라고 해도 동일한 에러가 발생합니다. |
Form Control number | 워크시트의 폼 컨트롤을 지정하기 위한 이름 또는 숫자 예) Evaluate("Label 1").Caption = "Hello" Evaluate("레이블 1").Caption = "Hello2" ![]() 아래와 같이 Label 1이라고 하지 않고 1이라고 지정해도 됩니다. Evaluate("1").Caption = "Hello" |
[대표 이미지]
반응형
'EXCEL - VBA' 카테고리의 다른 글
여러 가지 조건을 만족하는 값을 찾을 때(2-1) - 사용자 정의 함수(1) (0) | 2023.07.25 |
---|---|
텍스트로 된 수식의 값 구하기(4 - 2) - 사용자 정의 함수 (0) | 2023.07.20 |
텍스트로 된 수식의 값 구하기(1) - 곱하기만 (0) | 2023.07.16 |
피벗 테이블 새로 고침(2) (0) | 2023.06.13 |
피벗 테이블 새로 고침(1) (0) | 2023.06.12 |