공부/VBA 썸네일형 리스트형 [VBA] 함수 재계산 시점 조절 - Application.Volatile True 사용자 정의 함수는 엑셀 고유의 worksheet함수와 유사하게 동작한다. 즉, 함수의 인수가 변경되었을 경우에만 다시 계산된다. 실제 사용시에는 해당 셀의 내용이 변경될 때 마다 다시 계산되도록 할 필요가 있을 것이다. 이 경우, 아래의 명령문을 함수 프로시저에 추가해 주면 된다. 주의 할 점은 아래 명령어가 수행된 이후부터 자동으로 재계산되도록 설정된다는 것이다. 따라서 애초에 이 명령문이 포함된 함수가 한번이라도 불려져야 의미가 있다. Application.Volatile True Function NonStaticRand() ' Returns a random number that ' doesn't change when recalculated Application.Volatile True NonSta.. 더보기 [VBA] ByVal 키워드 사용 ByVal은 프로시저 정의시에만 사용할 수 있고, 호출시에는 쓸 수 없다. 프로시저 호출시 Call을 쓰지 않으면 값에 의한 참조와 동일한 효과가 있다. 아래는 각 경우의 예제와 결과다. 1/ Call 없이 바로 프로시져 호출의 경우: ByVal키워드를 사용하지 않았으나, 값을 참조 (call by value) 하는 경우와 동일한 결과. 원래 값이 바뀌지 않음 Sub ShowRoot(MyVal) Debug.Print "+++++++++++" Debug.Print "[ShowRoot] org MyVal = " & MyVal sr = Sqr(MyVal) MyVal = sr Debug.Print "[ShowRoot] sqr(MyVal) = " & MyVal End Sub Sub Test() v = 25 Sho.. 더보기 [VBA] 프로그래밍 기초 VBA 언어요소: 개관 (p.79) · 주석: '기호로 시작되는 줄 o Rem 키워드도 사용가능 · 한 줄에 복수의 명령문 사용시: 콜론(:)을 기호로 구분 · 줄 연결기호: 빈칸+밑줄 부호(_) · VBA변수는 대,소문자를 구분하지 않음 o Dim 등의 구문을 통해 선언된 변수의 경우 제외 · VBA 내장 데이터 형식 o Byte: 1바이트, 0~255까지숫자범위 o Integer: 2바이트, -32768~32,767까지숫자범위 o Boolean: True또는false 와같은논리형데이터형식 o Long: 4바이트, integer형보다더큰숫자범위를지정 o Single: 4바이트, 실수형표시 o Double: 8바이트, single보다더큰실수형수치범위를지정 o Currency: 8바이트, 정수형데이터표시 .. 더보기 [VBA] 간단한 소개 VBA에 대한 간단한 소개 (p.30) · VBA module은 procedure들로 구성 Sub Test() Sum = 1 + 1 MsgBox "The answer is " & Sum End Sub · 함수 procedure Function AddTwo(arg1, arg2) AddTwo= arg1 + arg2 End Function · 100개 이상의 조작가능한 클래스 개체를 제공 · 개체 클래스들은 계층화되어 있음 - object model Application Workbook Worksheet Range PivotTable Chart CommandBar · 유사한 개체들은 collection을 구성 · 개체참조 Application.Workbooks("Book1.xls") Application.Wo.. 더보기 MS Excel Object Model MS Excel Object Model Reference Information in Help Help for this object model is available in VBAXL10.CHM. Notes A single plus sign (+) designates objects with accessors to the ColorFormat object. A double plus sign (++) indicates that the ShapeRange objects have been omitted from this diagram. For general purposes, you can think of these objects as occupying the same positions as the Shape obj.. 더보기 이전 1 2 다음