Programming 24

VBA Code: 엑셀 시트 복사시 이름 충돌 해결을 위한

엑셀 파일을 새롭게 생성하지 않고 여러사람이 작업을 하고, 또 작업본을 다른 이름으로 저장해서 사용하다 보면 시트복사시 아래와 같은 알림 메세지가 떠서 복사할 때마다 번거로운 상황이 생깁니다. 이름 관리자에 들어가 보면 보통은 아래와 같이 참조가 깨진 이름 목록들이 나와있고 전체 선택 후 삭제하면 시트 복사시 에러 메시지가 없어집니다. 문제는, 이름을 모두 삭제하고 아래와 같이 참조가 깨진 이름이 더이상 목록에 없는데도 에러 메시지가 발생하는 경우가 있다는 것입니다. 이 때는 VBA창을 열고 아래 코드를 실행해 주면 이름 관리자에서 보이지 않는 이름들이 삭제되어 문제가 해결 됩니다. Sub ShowNames() Dim areaName As Name For Each areaName In ThisWorkbo..

VBA Code: 엑셀 파일 저장시 파일 이름에 날짜 시간을 추가하여 사본을 생성

중요한 데이터를 엑셀로 작업 도중 저장을 눌러 되돌리기가 안되는 상황이 발생할 때가 있습니다. 이때 저장 버튼을 누를 때마다 파일 저장경로에 날짜와 시간을 추가하여 사본을 생성하는 코드를 공유 합니다. 먼저 VBA 창을 열고 모듈을 하나 추가하여 아래 코드를 입력합니다. Sub AutoSaveCopy() Dim filePath As String Dim fileName As String Dim fileExtension As String Dim newFileName As String '현재 파일의 경로 및 파일명, 확장자 추출 filePath = ThisWorkbook.Path & "\" fileName = ThisWorkbook.Name fileExtension = "." & Split(fileName, ..

VBA 코딩 환경 설정하기(배경화면 검은색으로 눈을 편하게 하기)

VBA 코딩을 오래 하다 보면 기본 배경화면이 흰색이라서 눈에 피로가 많이 쌓이게 됩니다. 코딩시 눈을 편안하게 하기 위해 개인적으로 설정해서 사용하는 레지스트리를 공유합니다. Office 2016, VBA 7.1 기준입니다. 레지스트리 변경전 기존 레지스트리는 백업해 두는게 좋겠죠? 첨부 레지스트리를 적용 후, 옵션 메뉴에 들어간 다음 사용자가 원하는 색만 골라서 변경할 수 있습니다. 저는 최대한 눈의 피로를 줄이기 위해 그레이 계열로 색상을 설정했지만, 일부 텍스트 색을 변경하면 아래와 같이 키워드를 더 도드라지게 보이게 할 수도 있습니다.

KUKA KRL 숫자를 문자열로 변환하는 함수

산업용 프로그램에서 데이터 변환이 많이 이루어지지는 않지만, PC 스럽게(?) 코딩을 하다보면 간혹 변환이 필요할 때가 있습니다. 아래는 실수와 정수를 String으로 변환하는 코드의 예제 입니다. 1. 실수를 String으로 변환하는 함수 GLOBAL DEFFCT Bool RealToString(DestStr[]:OUT, RealVar:IN) DECL CHAR DestStr[] DECL REAL RealVar DECL STATE_T STATE DECL INT OFFSET DECL BOOL Conversion_OK OFFSET=0 IF STRCLEAR(DestStr[]) THEN SWRITE(DestStr[],STATE,OFFSET,"%f",RealVar) Conversion_OK=TRUE ELSE Co..