728x90
반응형

회사에서 데이터 입력창에 값을 입력하면, 셀에 자동으로 입력되는 기능을 구현 달라는 요청을 받았다. 

요청 사항을 이행하기 위해서, VBA(Visual Basic  Application)을 사용기로 했다. 

대략적인 시나리오는 다음과 같이 구성했다. 

버튼 클릭 -> 입력창 생성 -> 값 입력 -> 입력하기 버튼 클릭 -> 셀에 자동으로 값이 입력 됨 -> 입력창 리셋 -> 추가 입력 또는 닫기 버튼으로 입력을 종료함

 

문제는 입력창에 숫자를 입력했을 때, 자릿수마다 ,(콤마)가 생성되지 않아서

사용자의 어려움이 예상됐다. 

그래서 입력청에 숫자만 입력할 수 있고, 숫자 입력 시, 자릿수마다 ,(콤마)가 생성되는 코드를 찾아서 적용했다, 

 

Option Explicit
Dim blnEvent As Boolean
Private Sub TextBox13_Change()
Dim strText As String, strImsi As String
Dim lngStart As Long, lngImsi As Long, lngPeriod As Long
       If Not blnEvent Then
        '이벤트시 중복실행을 방지
           blnEvent = True
           With TextBox13
                lngStart = .SelStart '커서위치 파악
                strText = .Text
                strImsi = Application.Substitute$(strText, ".", ".0")
                strImsi = Format$(strImsi, "#,##0")
                '반올림되지 않도록 lngImsi = Len(strText)
                lngPeriod = InStr(strText, ".")
                If lngPeriod Then
                  If IsNumeric(strImsi) Then
                     .Text = strImsi & Mid$(strText, lngPeriod)
                  End If
                 Else
                    .Text = strImsi
                 End If
                   .SelStart = lngStart + IIf(Len(.Text) > lngImsi, 1, 0)
           End With
       End If
       blnEvent = False

End Sub

 

TextBox에 위 코드를 입력하면, 숫자를 입력하면 자동으로 ,(콤마)가 생성 된다. 

굉장히 잘 짜여져있다. 

출저가...기억이 안 난다.

죄송합니다. 

 

그래도 코드는 굉장히 잘 동작했다.

 

728x90
반응형

'엉망진창 AI > Study' 카테고리의 다른 글

추천엔진 라이브러리  (0) 2022.12.27
728x90
반응형

MS office에서 한글로 작성 중인 문서가 갑자기 영문으로 전환 되는 경우가 있다.

이 때는, 아래 절차로 가이드 한다.

 

 

1. 일단, MS Office의 '옵션을 실행한다. 

MS office의 '옵션'을 실행한다.

 

 

2. '메일' 메뉴에서, '맞춤법 및 자동 고침'을 실행한다.

'맟춤법 및 자동 고침' 실행

 

 

3. 실행 된 '맞춤법 및 자동 고침' 실행 창에서, '자동 고침 옵션'의 ''한/영 자동 고침"을 해제한다. 

한영 자동 고침 해제

 

 

이렇게까지 했는데, 안되는 경우가 있다.

그 때는 한컴 입력기를 삭제해야 가능하다.

한컴 입력기 삭제 방법 

728x90
반응형

+ Recent posts