nØthing specia¡
Posts
129 posts
실패경험담-어설픈 비밀번호 감추기
엑셀의 셀안에 비밀번호를 넣어두면 어찌될까? 공유하지 않고 혼자 사용하는 것이라면, 누가 열어보지 않는 이상, 찜찜하지만 신경을 쓰지 않을 수도 있다. 그러나 비밀번호가 돈과 관련된 것이라면 신경이 쓰인다. 엑셀로 트레이딩 프로그램 프로토타입을 만들다 보니 계좌번호, 계좌비밀번호 등을 매번 입력하는 것보단 어딘가에 넣어두는 게 좋을 것 같아 일단 워크시트안에 넣어 두었다. 문제는 이게 보이는 게 영 신경이 거슬린다. 여타 비밀번호 입력하는 창처럼 '*****'로 표시되면 좋을 것이다. 그래서 일단 이를 다음과 같이 셀 서식을 가지고 흉내를 내보았다. 셀 서식에서 ';;;**'의 의미는 문자열을 * 문자로 표시하라는 의미이다. 만일 숫자까지 *으로 표시하게 하려면 '**;**;**;**'으로 하면

에러처리전담반, On Error 팀을 찾아 온 낯선 손님 IFERROR()함수
엑셀에 새로운 워크시트 함수가 추가되지만, 새로운 함수가 주목받고 애용되기는 힘들다. 새로운 워크시트함수가 아니어도 그 기능을 이미 수식으로 해결해오고 있고, 이미 익숙해져있기 때문일 수 도 있다. 새로운 워크시트함수(이젠 신참이 아니라 중고참급이 되었지만)중 가장 애용하는 것이 IFERROR()함수이다. 간단한 IFERROR()함수 예는 다음과 같다. 가령 A2셀을 B2셀값으로 나누는 연산에서 오류가 생기면 "계산오류"를 대신 출력한다.=IFERROR(A2/B2, "계산 오류") vba에서 워크시트함수를 사용하는 경우 함수에러를 대비하기 위해 여지껏 On Error문을 사용하였다. On Error Resume Next sym = "201N6308" var = WorksheetFun

Application과 WorksheetFunction에 대한 거짓 말
어쩌다 하는 강의에서 나름 중요하고 엑셀VBA의 강점중 하나로 소개하는 것이 VBA에서 엑셀의 워크시트함수를 가져다 쓸 수 있다는 점이다. 워크시트의 함수를 가져다 쓸 수 있게 되어 (1)어려운 알고리즘을 간단히 구현하고 , (2)속도도 훨씬 빠르고 (3)신뢰성 있는 코드를 만들 수 있는 것이다. 워크시트함수를 사용하려면 WorksheetFunction 개체를 통해야 한다. 그러나 Application 개체를 통해서도 사용할 수 있다. 이런 설명을 하다 보면 둘 사이에 무슨 차이가 있는 가 하는 질문이 당연히 나온다. 물론 둘 간의 차이는 없다. VBA 초창기에는 Application 개체를 사용하여 워크시트함수를 사용하는 것만 있었다. 그러나 이후 새로운 버전을 내놓으면서 기존의 VBA개체를

DDE 클라이언트를 다시 만들어 보다
예전에 DDE를 이용하여 선물 틱데이터를 모으는 포스팅(간단한 DDE프로그래밍)을 한 적이 있었는데, 그때에는 DDE로 수집하는 데이터가 선물 하나라서 별 불편은 없었다. 그런데 이번에는 여러 가지 금융상품(선물과 옵션)의 틱데이터를 쌓는 걸 해보았다. API를 하려다가 귀찮아서 그냥 DDE를 해보는 것이다. 일단 HTS(DDE서버 역할을 한다)에서 DDE로 끌어다 쓸 금융상품과 항목을 선택하여 엑셀로 DDE클라이언트 워크북을 만든다. DDE 항목중 시간이 변경될 때마다, 어느 상품의 시간항목이 변경되는 지 확인하여 해당 프로시저를 실행하도록 하는 것이다. 즉 각각의 항목마다 같은 일을 하는, 그러나 이름만 다른 프로시저를 걸어 두는 것이다. 프로시저는 해당 워크시트의 출력위치를 확인하고 DDE 업

비베 고수님이 돌아가셨네요
아주 고급진 비베정보를 이 분 덕에 많이 배웠는데, 얼마 전 교통사고로 돌아가셨다고 합니다. 부고기사를 보면서 칩 피어슨의 약력을 몰랐는데, 더욱 더 안타깝습니다. 칩 피어슨 부고



