[VBA 제 67강] Class Module사용(2) 썸네일 이미지
[VBA 제 67강] Class Module사용(2)
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회2,354
즐겨찾기
[VBA 제 67강] Class Module사용(2)를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 유료 (회원권 or 단품 구매)
제품 상세정보

 

 

 




[ 기초 강좌 ]

 

제 67강

Class Module 사용(2)

 

Class Module사용 에 대해 알아봅니다.

이럴 때 필요해요

클래스 모듈을 이용하여 여러가지 프로그램에 활용할수있습니다.

이렇게 사용해요

 [VBA 제 67강] Class Module사용(2) 

 

 

위와 같이 폼안에 숫자를 적고 Enter 키를 누를때마다

그다음 폼안에 있는숫자를 더해지는 자동합계 시스템을 간단하게 만들수있습니다.

 

 

[VBA 제 67강] Class Module사용(2)
 

 

Option Explicit

Option Base 1

Dim TxtN() As New TxtNumberClass

 

Private Sub TextBox6_Change()

  TextBox6 = Format(TextBox6, "#,###")

End Sub

 

Private Sub UserForm_Initialize()

 Dim i As Integer

  ReDim Preserve TxtN(1 To 5)

   For i = 1 To 5

    Set TxtN(i).TxtGroup = Me.Controls("TextBox" & i)

   Next i

End Sub

 

Private Sub CommandButton1_Click()

  Unload Me

End Sub


유저 폼을 만든후 저 코드를 입력해줍니다.

그리고 클래스 모듈을 하나 생성하여


[VBA 제 67강] Class Module사용(2)


Option Explicit
Public WithEvents TxtGroup As MSForms.TextBox

Private Sub TxtGroup_Change()
 If IsNumeric(TxtGroup.Text) Then
  TxtGroup = Format(TxtGroup, "#,###")
  Else
   MsgBox "숫자만 입력하셔야 합니다.", 64, "입력오류"
  End If
End Sub

Private Sub TxtGroup_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
 Dim ctlTxt As Control
 Dim lngNum As Long
   Set ctlTxt = UserForm1.TextBox6
   If KeyCode = vbKeyReturn Then
    If ctlTxt = "" Then
     lngNum = 0
     Else
     lngNum = ctlTxt
    End If
     ctlTxt = lngNum + TxtGroup
   End If
End Sub


이 코드를 입력해주시고 실행 시키면

 

폼안에 숫자를 적으면 순차적으로 합산이되는 자동계산폼을 만들수있습니다!

 

저작권정보
1. 콘텐츠의 저작권은 쿠키(www.coukey.co.kr)에 있으며, 사용권한은 1인 1카피입니다.
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.
[VBA 제 67강] Class Module사용(2)
이용후기

업무자동화 맞춤제작

고객님의 상황에 100% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중