nØthing specia¡
Posts
129 posts
R을 위한 검색엔진
프로그래밍을 하다가 막히는 경우 사둔 책 대신 구글 검색을 해서 해결하는 경우가 다반사이다. R과 관련된 구글의 검색결과를 정리하여 제공해주는 사이트가 있다. rseek.org는 R을 위한 검색엔진은 아니지만 R을 다루는 분이라면 쏠쏠한 사이트인듯하다.

매크로 시트를 참조해야 합니다.
보통때와 마찬가지로 프로시저 만들고 워크시트에 버튼 추가하고 앞서 만든 매크로를 연결하려고 하니 '매크로 시트를 참조해야 합니다' 라는 에러가 난다. '흠~ 처음보는 에러인데, 이건 뭐지...' 구글 검색을 해보니 한글검색결과에는 이런 내용이 딱 하나 나오는데, 그닥 도움이 되지는 않는다. 시트를 참조한다는 말에서 힌트를 얻기는 했는 데, 프로시저 이름과 워크시트의 이름이 같아서 생기는 오류이다. 둘중 한 넘이 개명을 해야 하는데, 프로시저의 이름을 바꾸어서 해결하면 된다.

배열=배열+배열
지난 번에 배열을 다룬 적이 있는데(어쩌다보니 배열 성애자가 된 느낌!), 배열의 차원을 줄이거나 배열의 일부를 떼어 내는 걸 ([참고]배열 슬라이싱#1, 배열 슬라이싱#2, 배열 슬라이싱#3, 뱁새가 황새 따라하다 가랑이 찢어지다)다루었다. 그런데 다시 합치는 짓을 하고 싶었다. 단순히 합치는 걸 하라면 Array()함수를 사용하면 될 듯하다. Dim s As Worksheet Dim arr1(), arr2 Set s = Sheet1 arr1 = s.Range("A1:A15").Value arr1 = WorksheetFunction.Transpose(arr1) arr2 = s.[B1:B15] arr2 = Worksh
VBA의 포인터
포인터하면 떠오르는 것은 c/c++이다. 포인터는 c/c++의 상징과 같은 존재인데, vba에서도 c/c++처럼 포인터가 자주 쓰이지는 않지만 쓸 수 있는 부분이 있다. 함수포인터가 그것이다. DispCallFunc는 Windows API OLE Automation 함수인데, vba 에서 함수포인터를 가능하게 해준다. 참고로 같이 사용하는 vba 구문은 AddressOf 라는 연산자가 있다. 이것은 프로시저의 주소를 얻어내는 역할을 한다. Private Declare Function DispCallFunc Lib "OleAut32.dll" ( _ ByVal pvInstance As Long, _ ByVal oVft As Long, _ ByVal cc As Long, _




