본문 바로가기

Office35

VBA에서 밀리초 단위로 시간 기록하는 방법 출처: https://social.msdn.microsoft.com/Forums/office/en-US/606a9ba0-4cae-4cad-a71c-f86c0a9d442d/how-to-display-millisecond?forum=exceldev 로그 파일에 로그 메시지와 시간을 기록하는데 초보다 더 상세한 단위로 기록을 하고 싶어져서 찾아보니 출처에 방법이 나와 있군요. Timer 함수가 자정 이후의 시간을 1초 미만의 소수 단위로 반환하니까 이를 Format해서 기록하면 됩니다. 다음과 같이 작성하면 되겠네요 Private Sub Log(ByVal szLog As String) Print #1, Format(Time, "hh:mm:ss.") & Right(Format(Timer, "#0.000 "), .. 2016. 6. 9.
Cell 내용을 사용자는 변경 못하고 VBA로만 변경 가능하도록 하는 방법 출처: http://stackoverflow.com/questions/125449/how-to-protect-cells-in-excel-but-allow-these-to-be-modified-by-vba-script VBA로 Cell에 값을 바꾸는 프로그램을 돌리는데 사용자가 그 값을 바꾸지 못하게 하기 위한 방법입니다. 츨처를 보니 워크시트를 보호하는데 UserInterface에 대해서만 보호되도록 하는 방법이 있네요. 예를 들어서 Sheet1을 보호하시려면 다음과 같이 하시고Worksheets("Sheet1").Protect "Password", UserInterfaceOnly:=True Password 부분은 각자 원하시는 패스워드를 지정해주시면 됩니다. 보호가 끝나면 다음과 같이 Unprotect.. 2016. 6. 8.
VBA에서 상수에 따라 크기가 변하는 배열 선언 불가 출처: http://stackoverflow.com/questions/5185595/error-in-excel-vb-function-constant-expression-required 배열의 크기를 Const로 정의하고 거기에 따라서 크기가 고정되는 배열을 선언해보려고 했는데 잘 안되서 찾아보니 VBA는 방법이 없네요. 다음과 같이 먼저 동적 배열을 선언하고 상수 크기에 맞게 ReDim 해주는 방법을 사용해야 합니다. Dim probabilities() As Double ReDim probabilities(0 To n) 2016. 6. 6.
Excel 2007/2010 Worksheet 보호 암호 해제 출처: http://byedong.tistory.com/144 http://cafe.naver.com/excelmaster/37623 가끔 남이 준 Excel 2007/2010에 Worksheet 보호가 걸려있어서 편집도 안되고 불편한 적이 많았는데 이를 해결할 두가지 방법이 출처에 나와있습니다. 첫번째는 www.straxx.com의 Excel Password Remover(http://www.straxx.com/free-excel-password-remover-2012/)를 사용하는 방법인데, 제가 갖고 있는 Excel 파일에 테스트 해보니 10분을 기다려도 안되길래 그냥 포기하고 Excel 프로세스를 죽였습니다. 두번째 방법은 Naver 카페에 있는 Excel의 버그를 이용한 방법입니다. 설명에는 E.. 2015. 8. 3.