±³À°°úÁ¤ ³ªÀÇÇнÀ ¿ÀÇǽºÆÁ °Ë»ö ¹«·á°­ÁÂ
Home ·Î±×ÀΠȸ¿ø°¡ÀÔ °í°´¼¾ÅÍ »çÀÌÆ®¸Ê
¿ÀÇǽºÆ©ÅÍ ±â¾÷ASP¼­ºñ½º > ¹«·á°­ÁÂ
¿¢¼¿ 2000 µû¶óÇϱâ
Ȩ·¯´× ¿¢¼¿ 2000°­ÁÂ
À繫 ÇÔ¼ö °­ÁÂ
¿¢¼¿ 2002 »õ·Î¿î ±â´É
Ȳ±â¼º´ÔÀÇ VBA°­ÁÂ
°û½ÂÁÖ´ÔÀÇ VBAÀ̾߱â
Home > ¹«·á°­Á > ¿¢¼¿
¿¢¼¿, °û½ÂÁÖ´ÔÀÇ ¿ÀÆ©°ø±¸ÇÔ Á¦ÀÛÀ¸·Î ¹è¿öº¸´Â VBA À̾߱â, Excel
  

11. ¼ýÀÚ¸¦ ÇѱÛ/ÇÑÀÚ/¿µ¾î·Î º¯È¯ -¥±

ÀÌÁ¦ ÇÙ½ÉÇÔ¼ö°¡ ¸¶·ÃµÇ¾úÀ¸´Ï »ç¿ëÀÚÁ¤ÀÇÆûÀ» ¸¸µé¾î º¸°Ú½À´Ï´Ù. ÆûÀº ´ÙÀ½°ú °°½À´Ï´Ù.

»ç¿ë¹ýÀº °£´äÇÕ´Ï´Ù. À§ÀÇ ±×¸²¿¡¼­ º¸µíÀÌ NumberÅØ½ºÆ®»óÀÚ¿¡ ¼ýÀÚ¸¦ ÀÔ·ÂÇϰí Language¿¡¼­ ¹®ÀÚ¸¦ ¼±ÅÃÇϸé Preview¿¡¼­ º¯È¯µÈ °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í È®ÀιöưÀ» Ŭ¸¯Çϸé ÇöÀç ¼¿¿¡ º¯È¯µÈ ³»¿ëÀÌ µé¾î °©´Ï´Ù. ±×¸®°í Ãë¼Ò¸¦ Ŭ¸¯ÇÏ¸é ¾Æ¹« Àϵµ ¹ß»ýÇÏÁö ¾Ê½À´Ï´Ù. ±×¸®°í ÇöÀç ¼¿¿¡¼­ ÀÌ ±â´ÉÀ» ºÒ·¯³»¸é ÇöÀ缿ÀÇ ¼ýÀÚ°¡ NumberÅØ½ºÆ®»óÀÚ¿¡ µé¾î°¡µµ·Ï ÇØ¾ß °ÚÁÒ!

´ÙÀ½Àº À§ÀÇ »ç¿ëÀÚÁ¤ÀÇ ÆûÀÇ °¢ À̺¥Æ®¸¦ ¸¸µé¾î ³õÀº ÄÚµåÀÔ´Ï´Ù.

frmToString
Option Explicit

Private Sub btnCancel_Click()
     Unload Me
End Sub

Private Sub btnOK_Click()
     ActiveCell.Value = Preview.Caption
     Unload Me
End Sub

Private Sub opHangul_Click()

End Sub

Private Sub opHanja_Click()

End Sub

Private Sub opEnglish_Click()
     Preview.Caption = ConvertCurrencyToEnglish(txtNumber.Text)
End Sub

Private Sub txtNumber_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
     Select Case KeyAscii
     Case vbKey0 To vbKey9
     Case 46
     Case Else
          KeyAscii = 0
     End Select
End Sub

Private Sub UserForm_Activate()
     Application.EnableCancelKey = xlDisabled
     If Application.WorksheetFunction.IsNumber(ActiveCell.Value) Then txtNumber.Text =
      ActiveCell.Value
     txtNumber.SetFocus
End Sub

Private Sub btnCancel_Click()
     Unload Me
End Sub
[Ãë¼Ò]¹öưÀ» Ŭ¸¯ÇÏ¸é ±×Àú ÇöÀçÀÇ ÆûÀ» ¾ø¾Ö¹ö¸³´Ï´Ù. Áï ¸Þ¸ð¸®¿¡¼­ Á¦°ÅÇÕ´Ï´Ù. ¸¸ÀÏ ¸Þ¸ð¸®¿¡¼­ Á¦°ÅÇÏÁö ¾Ê°í ´ÜÁö ¼û±â´Â °ÍÀ̶ó¸é Me.Hide¸¦ ÇÏ¸é µÇ°ÚÁÒ. ±×¸®°í À̸¦ ´Ù½Ã º¸ÀÌ·Á¸é Me.Show¸¦ ÇÏ¸é µË´Ï´Ù.

Private Sub btnOK_Click()
     ActiveCell.Value = Preview.Caption
     Unload Me
End Sub
[È®ÀÎ]¹öưÀ» Ŭ¸¯ÇÏ¸é ¹Ì¸® º¸±â(Preview)ÀÇ ³»¿ë(Caption)À» ÇöÀç ¼¿¿¡ ÀÔ·ÂÇÏ°í ÆûÀ» ¾ø¾Û´Ï´Ù.

Private Sub opEnglish_Click()
     Preview.Caption = ConvertCurrencyToEnglish(txtNumber.Text)
End Sub
LanguageÀÇ ¹®ÀڿɼÇÁß [¿µ¾î]¸¦ ¼±ÅÃÇϸé ÅØ½ºÆ®»óÀÚÀÇ ³»¿ë(txtNumber.Text)À» ÀÌ¹Ì ±¸ÇÑ Function ConvertCurrencyToEnglish(ByVal MyNumber)ÇÔ¼ö¿¡ ÀÔ·ÂÇÏ°í ±× °á°ú¸¦ ¹Þ¾Æ ¹Ì¸® º¸±â(Preview)ÀÇ ³»¿ë(Caption)¿¡ ÀÔ·ÂÇÕ´Ï´Ù.

Private Sub txtNumber_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
     Select Case KeyAscii
     Case vbKey0 To vbKey9
     Case 46
     Case Else
          KeyAscii = 0
     End Select
End Sub
ÅØ½ºÆ®»óÀÚ ÄÜÆ®·ÑÀº Űº¸µå·ÎºÎÅÍ °ªÀ» ¾ò½À´Ï´Ù. ±×·¡¼­ _KeyPressÀ̺¥Æ®°¡ °¡´ÉÇѵ¥ Áï ÅØ½ºÆ®»óÀÚ ÄÜÆ®·Ñ¿¡¼­ Űº¸µå¸¦ ´©¸¦ ¶§¸¶´Ù À§ÀÇ À̺¥Æ®°¡ ¹ß»ýÇÕ´Ï´Ù. À̶§ ´©¸¥ Ű °ªÀ» ¸Å°³º¯¼ö·Î Àü´Þ¹Þ´Âµ¥ ±× º¯¼ö°¡ ¹Ù·Î KeyAsciiÀÌÁÒ. ±×¸®°í ÀÌ °ªÀº Á¤¼ö°ªÀÔ´Ï´Ù. ÀÌ °ªÀ» ÇØµ¶ÇÏ¿© ¿ì¸®´Â ¹«½¼ ۰¡ ´­·Á Á³´Â°¡¸¦ ¾Ë ¼ö ÀÖ½À´Ï´Ù. ¿©±â¿¡¼­´Â ¼ýÀÚ¿Í Á¡¸¸ ÀÔ·Â¹Þ°í ³ª¸ÓÁö Ű´Â ¹«½ÃÇØ¹ö·Á¾ß ÇÕ´Ï´Ù. ±×·¡¼­ ElseÀÌÇÏ¿¡¼­´Â KeyAsciiº¯¼ö°ªÀ» 0À¸·¯ ¼³Á¤ÇÏ¿© ¼ýÀÚ¿Í Á¡ÀÌ ¾Æ´Ñ ¹®ÀÚ°¡ ÅØ½ºÆ®»óÀÚ ÄÜÆ®·Ñ¿¡ ÀԷµÇÁö ¾Êµµ·Ï Çϰí ÀÖ½À´Ï´Ù.
VB/VBA¿¡¼­´Â ÀÚÁÖ »ç¿ëÇÏ´Â ¿©·¯ Ű °ªÀ» ³»ºÎ»ó¼ö·Î ¹Ì¸® Á¤ÀÇÇØ µÎ¾ú½À´Ï´Ù. 
´ÙÀ½Àº ¼ýÀÚ Å° »ó¼ö¿Í °ªÀÔ´Ï´Ù. ±× ¿Ü ¿©·¯ °¡Áö ۰¡ ÀÖÁö¸¸ »ý·«ÇÕ´Ï´Ù.

»ó¼ö °ª ¼³¸í
vbKey0 48 0Ű
vbKey1 49 1Ű
vbKey2 50 2Ű
vbKey3 51 3Ű
vbKey4 52 4Ű
vbKey5 53 5Ű
vbKey6 54 6Ű
vbKey7 55 7Ű
vbKey8 56 8Ű
vbKey9 57 9Ű

Private Sub UserForm_Activate()
     Application.EnableCancelKey = xlDisabled
     If Application.WorksheetFunction.IsNumber(ActiveCell.Value) Then
        txtNumber.Text =  ActiveCell.Value
    EndIF    
           txtNumber.SetFocus
End Sub

Application.EnableCancelKey = xlDisabled À̶õ Äڵ尡 Àִµ¥ »ý¼ÒÇϽŠºÐµéÀÌ °è½Ç °Ì´Ï´Ù. ÇϳªÇϳª ¶â¾î º¸¸é »ìÆìº¸µµ·Ï ÇÏÁÒ. ApplicationÀ̶õ °ÍÀº ÇöÀçÀÇ VBA È£½ºÆ® ÇÁ·Î±×·¥ÀÎ ¿¢¼¿À» ÀǹÌÇÕ´Ï´Ù. CancelKey¶ó´Â ´Ü¾î´Â ¹º°¡ Ãë¼ÒÇϴ Ű¶ó´Â ¶æ °°ÁÒ. ¸Â½À´Ï´Ù. À̰ÍÀº ÇÁ·Î½ÃÁ®¸¦ ÁߴܽÃŰ´Â Ctrl+BreakŰ(¶Ç´Â EscŰ)¸¦ ÀǹÌÇÕ´Ï´Ù. Application.EnableCancelKey´Â ÇÁ·Î½ÃÁ®ÀÇ È帧À» ÁߴܽÃų ¼ö ÀÖ´Â Ctrl+BreakŰ(¶Ç´Â EscŰ)¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» ÁöÁ¤ÇÏ´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½Àº Application.EnableCancelKey¿¡ ÁöÁ¤ÇÒ ¼ö ÀÖ´Â »ó¼ö°ª°ú ÀǹÌÀÔ´Ï´Ù.

»ó¼ö ÀǹÌ
xlDisabled  Ãë¼Ò۸¦ »ç¿ëÇÒ ¼ö ¾ø°Ô µË´Ï´Ù.
xlInterrupt  ÇöÀç ÇÁ·Î½ÃÀú¸¦ ÁßÁöÇÏ¿© »ç¿ëÀÚ°¡ ÇÁ·Î½ÃÀú¸¦ µð¹ö±ëÇϰųª ³¡³¾ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.
xlErrorHandler ÀÎÅÍ·´Æ®°¡ ½ÇÇà ÁßÀÎ ÇÁ·Î½ÃÀú¿¡ ¿À·ù·Î Àü´ÞµÇ°í On Error GoTo ¹®À» »ç¿ëÇÏ¿© ¿À·ù 󸮱⠼³Á¤À¸·Î Â÷´ÜÇÒ ¼ö ÀÖ½À´Ï´Ù. Â÷´ÜÇÒ ¼ö ÀÖ´Â ¿À·ù ÄÚµå´Â 18¹øÀÔ´Ï´Ù.

¿¢¼¿ÀÇ µµ¿ò¸» ¿¹Á¦

On Error GoTo handleCancel
Application.EnableCancelKey = xlErrorHandler
MsgBox "ÀÌ ÀÛ¾÷Àº ¿À·¡ °É¸± °ÍÀÔ´Ï´Ù. Ãë¼ÒÇÏ·Á¸é Esc۸¦ ´©¸£½Ê½Ã¿À."
For x = 1 To 1000000 'ÁöÁ¤ÇÑ ÀÛ¾÷À» ¹é¸¸ ¹øÂë(¿À·§µ¿¾È) ½ÇÇàÇÕ´Ï´Ù.
     'ÁöÁ¤ÇÑ ÀÛ¾÷À» ½ÇÇàÇÕ´Ï´Ù.
Next x

handleCancel:
If Err = 18 Then
     MsgBox "»ç¿ëÀÚ°¡ ÀÛ¾÷À» Ãë¼ÒÇß½À´Ï´Ù."
End If

À§ÀÇ ¿¹Á¦¿¡¼­´Â Application.EnableCancelKeyŰ¿¡ xlErrorHandler¸¦ ¼³Á¤ÇÏ¿© »ç¿ëÀÚ°¡ ESC۸¦ ´©¸£¸é »ç¿ëÀÚ°¡ ¸¸µç ¿¡·¯ Çڵ鷯·Î À̵¿ÇÏ°Ô ÇÏ¿´½À´Ï´Ù. ±×¸®°í À̶§ ¿¡·¯¹øÈ£´Â 18¹øÀÌ µË´Ï´Ù. ½Ã°£ÀÌ ¿À·¡ °É¸®´Â ÀÛ¾÷¿¡ ¼º¹Ì ±ÞÇÑ »ç¿ëÀÚ¸¦ ¹è·ÁÇÏ¿© ÀÌ·¯ÇÑ ·çƾÀ» ÀüÇüÀûÀ¸·Î »ç¿ëÇÕ´Ï´Ù.

If Application.WorksheetFunction.IsNumber(ActiveCell.Value) Then 
     txtNumber.Text = ActiveCell.Value
End If
ÀÌ »ç¿ëÀÚÆûÀº ±âº»ÀûÀ¸·Î ÇöÀç ¼¿ÀÇ ³»¿ëÀ» ÅØ½ºÆ®»óÀÚ ÄÁÆ®·Ñ¿¡ ÀÚµ¿À¸·Î ÀÔ·ÂÇϰԲû Çϰí ÀÖ½À´Ï´Ù. ±×·±µ¥ ±×·¯´Ù º¸´Ï ÇöÀç ¼¿ÀÇ ³»¿ëÀÌ ¼ýÀÚÀΰ¡ ¾Æ´Ï¸é ¹®ÀÚÀΰ¡¸¦ ÆÄ¾ÇÇØÁÖ¾î ¼ýÀÚ¶ó¸é ÅØ½ºÆ®»óÀÚ ÄÁÆ®·Ñ¿¡ ÀÚµ¿À¸·Î ÀÔ·ÂÇÏÁö¸¸ ¹®ÀÚ¶ó¸é ¹«½ÃÇØ¾ß ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ÆÇ´ÜÀº ¿¢¼¿ÀÇ ¿öÅ©½ÃÆ® ÇÔ¼öÀÎ IsNumber()ÇÔ¼ö¸¦ ÀÌ¿ëÇÕ´Ï´Ù. ¿¢¼¿ÀÇ ¿öÅ©½ÃÆ®ÇÔ¼ö¿¡ Á¢±ÙÇÏ·Á¸é Application.WorksheetFunctionÀ» ÅëÇØ¾ß ÇÕ´Ï´Ù.

¿À´ÃÀº ¿©±â±îÁö ÀÔ´Ï´Ù. ´ÙÀ½ ½Ã°£¿£ ¼ýÀÚ¸¦ Çѱ۷Πº¯È¯ÇÏ´Â ÇÔ¼ö¸¦ ¼Ò°³ÇϰڽÀ´Ï´Ù.

¸ñÂ÷ | ÀÌÀü | ´ÙÀ½

¡¡

¿ÀÇǽºÆ©ÅÍ ±â¾÷ASP¼­ºñ½º 135-880 ¼­¿ï½Ã °­³²±¸ »ï¼ºµ¿ 157-3 ¿¤ÁöÆ®À©ÅÚ 2Â÷ 1603È£ ¢Ï070-7098-2554
Copyright ¨Ï 1999-2008 Officetutor.com All rights reserved
¡¡