[¼ö°­±â°£] 2010. 11. 1 ~ 2011. 10. 31
½Åû¹®ÀÇ : À¥Å¸ÀÓ±³À°¼¾ÅÍ 02-3477-8300, ¿î¿µ°ü¸® : ¿ÀÇǽºÆ©ÅÍ 070-7098-2554

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

5. Áߺ¹ µ¥ÀÌÅÍ Ã³¸® -¥±

ÀÚ·á´Ù¿î·Îµå : ¿ÀÆ©°ø±¸ÇÔ005.xls 

¾È³çÇϼ¼¿ä. ¿ÀÆ©°¡Á· ¿©·¯ºÐ

¿À´ÃÀº Áö³­ ½Ã°£¿¡ À̾î Áߺ¹µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â ±â´ÉÀ» ¸¸µé¾î º¸°Ú½À´Ï´Ù. ¿À·£¸¸¿¡ ¿¬À縦 ´Ù½Ã ½ÃÀÛÇÏ·Á´Ï±î ¹æÇм÷Á¦ÇÏ´Â ±âºÐÀä, ¿äÁò ÃʵîÇлýµéÀº ¹æÇм÷Á¦°¡ ¾ø´Ù´õ±º¿ä. »ç½Ç ±×µ¿¾È ³í °ÍÀº ¾Æ´Ï°í ¿©·¯ °¡Áö ÀÏÀÌ ÀÖ¾ú½À´Ï´Ù. 

ȸ»çÀÏ(ÀúÈñ ºÎÀå´ÔÀÌ Åð»çÇÏ´Â ¹Ù¶÷¿¡ ÀúÈ¥ÀÚ ¸ðµç ÀÏÀ» ÇÏ°Ô µÇ¾ú°Åµç¿ä), ¹ø¿ªÀÏ(Àå³­ÀÌ ¾Æ´Ï´õ±º¿ä. ÇѸ¶µð·Î Çູ³¡-ºÒÇà½ÃÀÛÀÔ´Ï´Ù ), °³ÀÎȨÆäÀÌÁö ÀڷḸµé±â(°ø°³Çϱ⿣ Á» ¾Æ±î¿î °ÍÀÌ ¸¹¾ÒÁö¸¸...), ±×¸®°í ÀÌ Ä÷³¿¬Àç¹° Áغñ.... 

»ç½Ç ÀÌ°Í ¶§¹®¿¡ Àú´Â ³ª¸§´ë·Î °í»ýÀ» Çߴµ¥¿ä, ÀÌ»óÇÏ°Ôµµ ÇÁ·Î±×·¥ÀÌ ÁøôÀÌ ¾ÈµÇ°í ³»¿ëÀÌ ³Ê¹« ¾î·Á¿öÁö°í ±¸Çöµµ ¿À·¡ °É·Á ¾ÖÃÊÀÇ °èȹ¿¡¼­ ¸¹ÀÌ ÈÄÅðÇß½À´Ï´Ù. ¹«½¼ »ì(ß°)ÀÌ ³¢¾ú´ÂÁö... ±ÂÀ» ÇÒ ¼öµµ ¾ø±¸.... ±¦È÷ ÁÖÁ¦ À߸ø °ñ¶ú´Ù ½Í¾î Ãë¼ÒÇÏ°í ½Í¾úÁö¸¸ ±×·¡µµ ü¸éÀÌ ÀÖÁö... ¾î·µç °£´ÜÈ÷³ª¸¶ ÇÁ·Î±×·¥ÀÌ µ¹¾Æ°¡´Â °É º¸°í ÀÌ·¸°Ô ¿©·¯ºÐ¾Õ¿¡ ³ª¼­°Ô µÇ¾ú½À´Ï´Ù.

¹¯°í´äÇϱ⠰ԽÃÆÇ¿¡´Â ¸¹Àº Áߺ¹µ¥ÀÌÅÍ °ü·Ã Áú¹®ÀÌ ÀÖ´õ±º¿ä. ´ë°³ÀÇ °æ¿ì Áߺ¹µ¥ÀÌÅ͸¦ °ñ¶ó³» ó¸®ÇÏ´Â °ÍÀε¥ ¿¢¼¿ÀÇ ÇÊÅ͸µ±â´ÉÀ» »ç¿ëÇÏ¸é °¡´ÉÇÕ´Ï´Ù. ±×·¯³ª À̸¦ ÀÌ¿ëÇÏÁö ¾Ê°í ADOÀÇ ÇÊÅ͸µ ±â´ÉÀ» »ç¿ëÇÏ°íÀÚ ÇÕ´Ï´Ù. ¹°·Ð Áߺ¹Å×ÀÌ´õ󸮿¡ ADO±îÁö µ¿¿øÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ±×Àú ADO¿¬½À»ï¾Æ ¸¸µé¾î º¸µµ·Ï ÇÏÁÒ.

ÇÁ·Î±×·¥Àº ÇϳªÀÇ Æû°ú ÇϳªÀÇ ¸ðµâ·Î ±¸¼ºµË´Ï´Ù. 

  • Æû¿¡¼­´Â »ç¿ëÀÚ°¡ Áߺ¹µ¥ÀÌÅͺκÐÀ» ¼±ÅÃÇÏ°í ±× Ã³¸®¸¦ ¾î¶»°Ô ÇÒ °ÍÀÎÁö °áÁ¤Çϵµ·Ï ÇÕ´Ï´Ù. 
  • ¸ðµâ¿¡¼­´Â ADO°ü·Ã Äڵ带 µÎ¾ú½À´Ï´Ù. Æû¿¡¼­ °áÁ¤ÇÑ »çÇ×À» ¸ðµâ¿¡¼­ ó¸®ÇÒ °Ì´Ï´Ù.


¸ÕÀú ÆûÀ» ¸¸µé¾î º¸°Ú½À´Ï´Ù.

005-02.gif(6862¹ÙÀÌÆ®)¡¡ µ¥ÀÌÅ͹üÀ§ ÅؽºÆ®»óÀÚ¸¦ Ŭ¸¯ÇÏ¸é ¼¿¹üÀ§¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù. ¼¿¹üÀ§´Â ¿øÇÏ´Â µ¥ÀÌÅÍ°¡ ÀÖ´Â ¼¿À» Ŭ¸¯ÇÏ¸é µË´Ï´Ù. µå·¡±× ÇÒÇÊ¿ä´Â ¾ø½À´Ï´Ù.

ÇÊµå ¸®½ºÆ®»óÀÚ´Â ¼±ÅÃÇÑ ¹üÀ§¸¦ ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º Å×À̺íÀ̶ó°í °¡Á¤ÇÏ°í Çʵ带 º¸¿©ÁÙ °ÍÀÔ´Ï´Ù. 

Áߺ¹°ªÀº µ¥ÀÌÅ͹üÀ§¸¦ ¼±Åýà Ŭ¸¯ÇÑ ¼¿ÀÇ °ªÀÌ µé¾î°©´Ï´Ù. µû¶ó¼­ ¼¿ ¹üÀ§ ¼±Åýà ÇÊÅ͸µÇÒ °ªÀÌ ÀÖ´Â ¼¿À» ¼±ÅÃÇÏ´Â °Ô ÁÁ½À´Ï´Ù. 

Action¿¡¼­´Â Áߺ¹µ¥ÀÌÅ͸¦ ¾î¶»°Ô ó¸®ÇÒ °ÍÀΰ¡¸¦ °áÁ¤ÇÕ´Ï´Ù. ¼±ÅÃÇÑ µ¥ÀÌÅ͸¸ º¹»çÇϰųª ¼±ÅÃÇÑ µ¥ÀÌÅ͸¦ Á¦¿ÜÇÑ ³ª¸ÓÁö µ¥ÀÌÅ͸¸ º¹»çÇÕ´Ï´Ù.

È®ÀÎÀ» Ŭ¸¯ÇÏ½Ã¸é »õ ½ÃÆ®°¡ ¸¸µé¾îÁö°í °Å±â¿¡ µ¥ÀÌÅÍ°¡ º¹»çµË´Ï´Ù.

À§¿Í °°Àº ÆûÀ» ¸¸µé¾ú´Ù¸é ÀÌÁ¦´Â ÄÚµù¿¡ ¾Õ¼­ ADO¸¦ »ç¿ëÇϱâ À§ÇØ ´ÙÀ½°ú °°ÀÌ ADO°³Ã¼¸¦ ÂüÁ¶ÇÕ´Ï´Ù.

¸ÕÀú À¯ÀúÆûÀÇ Äڵ带 »ìÆ캸°Ú½À´Ï´Ù.

UserForm.bas

Option Explicit

ÀÛ¾÷´ë»óÀÌ µÇ´Â ¹üÀ§¸¦ ÀúÀåÇÏ´Â ¹üÀ§°³Ã¼º¯¼öÀÔ´Ï´Ù. À¯ÀúÆû³» ¿©·¯ÇÁ·Î½ÃÁ®°¡ À̸¦ ÂüÁ¶ÇÒ ÇÊ¿ä°¡ ÀÖ¾î Àü¿ªº¯¼ö·Î µÎ¾ú½À´Ï´Ù.
Dim rngData                  As Range


cmdCancel¹öÆ°ÀÇ Å¬¸¯À̺¥Æ®ÀÔ´Ï´Ù.
Private Sub cmdCancel_Click()


     À¯ÀúÆûÀ» ¾ð·ÎµåÇÕ´Ï´Ù. ¿©±â¼­ Me´Â À¯ÀúÆûÀ» ¸»ÇÕ´Ï´Ù.
     Unload Me
End Sub

ó¸®ÇÒ µ¥ÀÌÅ͹üÀ§¸¦ ´ã´Â txtRangeÀԷ»óÀÚÀÇ À̺¥Æ®ÀÔ´Ï´Ù. ¿©±â¼­´Â ¸¶¿ì½º¸¦ Ŭ¸¯ÇßÀ» ¶§ À̺¥Æ®¸¦ »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù. txtRangeÀԷ»óÀÚ¿¡ ¸¶¿ì½º¸¦ Ŭ¸¯Çϸé À¯ÀúÆûÀº Àá±ñ ¼û°ÜÁö°í µ¥ÀÌÅ͹üÀ§¸¦ ÀԷ¹޴ »óÀÚ°¡ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù. ÀÔ·ÂÀº ¸¶¿ì½º·Î µ¥ÀÌÅÍ°¡ ÀÖ´Â ¹üÀ§Áß ÀÓÀÇÀÇ ¼¿À» Ŭ¸¯ÇÕ´Ï´Ù. ±×·¯¸é À̸¦ ±âÁØÀ¸·Î Range°³Ã¼ÀÇ CurrentRegionÀ» ÀÌ¿ëÇÕ´Ï´Ù. µû¶ó¼­ ó¸®ÇÒ ¸ñ·ÏÀÌ µ¥ÀÌÅͺ£À̽ºÇüŸ¦ °®Ãß°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.

Private Sub txtRange_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
     Dim rngSelect As Range

     On Error GoTo ErrHandler

À¯ÀúÆûÀ» ¼û±é´Ï´Ù. ´ÙÀ½ ¼È¸í¿¡ ³ª¿Ã °ÍÀÌÁö¸¸ ¼¿¹üÀ§¸¦ ÀԷ¹ޱâ À§ÇØ InputBox¸¦ ¶ç¿ï °ÍÀε¥ À̶§ À¯ÀúÆûÀ» ¼û°Ü µÎ °³ÀÇ ´ëÈ­»óÀÚ°¡ °°ÀÌ ÀÖ´Â °É ¸·±â À§ÇÑ °ÍÀÔ´Ï´Ù.
     Me.Hide

InputBox¸Þ¼Òµå(ÇÔ¼öÀÎ InputBox¿Í ´Ù¸¨´Ï´Ù)´Â ´Ù¾çÇÑ Á¾·ùÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ½À´Ï´Ù. InputBox¿¡ ÇÊ¿äÇÑ ¸Å°³º¯¼öÁß TypeÀº ¹Þ¾ÆµéÀÏ ÀÔ·ÂÀÇ Á¾·ù¸¦ Á¤ÇÏ´Â °ÍÀÔ´Ï´Ù. TypeÀº ´ÙÀ½°ú °°½À´Ï´Ù.
        0 ¼ö½Ä
        1 ¼ýÀÚ
        2 ¹®ÀÚ¿­
        4 ³í¸®°ª (True ¶Ç´Â False)
        8 Range °³Ã¼¿Í °°Àº ¼¿ ÂüÁ¶ ¿µ¿ª
        16 #N/A¿Í °°Àº ¿À·ù°ª
        64 °ª ¹è¿­

#¹®ÀÚ¿­°ú ¼ýÀÚ¸¦ ¸ðµÎ »ç¿ëÇÒ ¼ö ÀÖ´Â ÀԷ¶õÀ» ¸¸µé·Á¸é TypeÀ» 1 + 2ÀÇ °ª(3)À¸·Î ¼³Á¤ÇÕ´Ï´Ù. Type°ªÀº ºñ·Ï ¼ýÀÚÀ̱ä ÇÏÁö¸¸ µ¥ÀÌÅÍÇü½ÄÀº VariantÀÔ´Ï´Ù. InputBox ´ëÈ­ »óÀÚ¿¡´Â [È®ÀÎ] ¹öÆ°°ú [Ãë¼Ò] ¹öÆ°ÀÌ ÀÖ½À´Ï´Ù. [È®ÀÎ] ¹öÆ°¸¦ ¼±ÅÃÇϸé InputBox ¸Þ¼­µå´Â ´ëÈ­ »óÀÚ¿¡ ÀÔ·ÂÇÑ °ªÀ» µ¹·ÁÁÖ°í [Ãë¼Ò] ¹öÆ°¸¦ ¼±ÅÃÇϸé False¸¦ µ¹·ÁÁÝ´Ï´Ù.

¼ö½ÄÀÌ ÇÊ¿äÇÑ °æ¿ì Type °ªÀ» 0À¸·Î ÁÝ´Ï´Ù. À̶§ InputBox ¸Þ¼­µå´Â "=2*PI()/360"°ú °°Àº ¼ö½ÄÀ» ¹®ÀÚ¿­·Î µ¹·ÁÁÝ´Ï´Ù. 

À̹ø ¿¹¿Í °°ÀÌ ¼¿¹üÀ§°¡ ÇÊ¿äÇÑ °æ¿ìType À» 8·Î ÁÝ´Ï´Ù. À̶§ InputBox ¸Þ¼­µå´Â Range °³Ã¼¸¦ µ¹·ÁÁÝ´Ï´Ù. µû¶ó¼­ °á°ú°ªÀ» ¹ÞÀ¸·Á¸é ¾Æ·¡¿Í °°ÀÌ Set ¸í·É¹®À» »ç¿ëÇØ¾ß ÇÕ´Ï´Ù.

     Set myRange = Application.InputBox(prompt := "¿¹Á¦", type := 8)

¸¸ÀÏ Set ¹®À» »ç¿ëÇÏÁö ¾ÊÀ¸¸é º¯¼ö´Â Range °³Ã¼°¡ ¾Æ´Ñ Range °³Ã¼¿¡ ÀÖ´Â °ªÀ¸·Î ¼³Á¤µË´Ï´Ù.

À§ÀÇ ¼³¸í´ë·Î ¼¿¹üÀ§¸¦ ¹Þ±â À§ÇØ InputBox¸Þ¼Òµå¸¦ »ç¿ëÇßÀ¸¸ç TypeÀº 8·Î ÇÏ¿´½À´Ï´Ù.
     Set rngSelect = Application.InputBox(Prompt:="ÇÊÅ͸µÇÏ·Á´Â Å×ÀÌÅÍ°¡ ÀÖ´Â À§Ä¡¸¦ ¸¶¿ì½º·Î ¼±ÅÃÇϼ¼¿ä", Title:="Á߸ñµ¥ÀÌÅÍ ¼±ÅÃ", Default:=ActiveCell.Address, Left:=1, Top:=1, Type:=8)


¼±ÅÃÇÑ ¼¿ÀÇ °ªÀÌ ÇÊÅ͸µÇÏ·Á´Â °ªÀ¸·Î °¡Á¤ÇÏ°í Áߺ¹°ª ÅؽºÆ®»óÀÚ¿¡ ÀÔ·ÂÇÕ´Ï´Ù.
     txtValue.Text = rngSelect.Item(1, 1)

µ¹·Á¹ÞÀº ¼¿¹üÀ§¸¦ Áß½ÉÀ¸·Î ÇϳªÀÇ ºí·Ïó·³ ¼¿¹üÀ§¸¦ È®´ëÇÕ´Ï´Ù. Áï ¼±ÅÃÇÑ ¼¿À» Áß½ÉÀÇ ÀÛ¾÷ÇÒ µ¥ÀÌÅͺ£À̽º¿µ¿ªÀ» Á¤ÇÕ´Ï´Ù.
     rngSelect.CurrentRegion.Select

´Ù½Ã À§¿¡¼­ ¼±ÅÃÇÑ ¿µ¿ªÀ» rngData °³Ã¼º¯¼ö·Î ¹Þ½À´Ï´Ù.
     Set rngData = Selection

À§ÀÇ RangeÀÇ ÁÖ¼Ò¸¦ txtRange¿¡ ÀÔ·ÂÇÏ¿© »ç¿ëÀÚ°¡ ¿øÇÏ´Â ÀÛ¾÷¿µ¿ªÀ» ¼±ÅÃÇÏ¿´´Â°¡ ¾Ë ¼ö ÀÖµµ·Ï º¸¿©ÁÝ´Ï´Ù.
     txtRange.Text = rngData.Address

¾Æ·¡ÀÇ Sub AddItemIntoList(¡¦)ÇÁ·Î½ÃÁ®´Â µ¥ÀÌÅͺ£À̽º ¿µ¿ªÀÎ rngData¸¦ ¹Þ¾Æ °¡Àå »ó´ÜÀÇ ÇàÀ» Çʵå·Î °¡Á¤ÇÏ¿© ¸®½ºÆ®¹Ú½ºÀÇ ¸ñ·ÏÀ¸·Î »ðÀÔÇÕ´Ï´Ù. 
     AddItemIntoList rngData

ÀÌÁ¦ InputBox ´ëÈ­»óÀÚ°¡ »ç¶óÁ³À¸¹Ç·Î ´Ù½Ã À¯ÀúÆûÀ» º¸¿©ÁÝ´Ï´Ù.
     Me.Show

»ç¿ëÇÑ ¹üÀ§°³Ã¼º¯¼ö¸¦ ¸Þ¸ð¸®¿¡¼­ Ç®¾îÁÝ´Ï´Ù.
     Set rngSelect = Nothing
    Set rngData = Nothing

ErrHandler:

End Sub

´ÙÀ½ÀÇ ÇÁ·Î½ÃÁ® Sub AddItemIntoList ´Â ¼±ÅÃÇÑ µ¥ÀÌÅ͹üÀ§¸¦ µ¥ÀÌÅͺ£À̽º Å×À̺í, ¼±ÅÃÇÑ µ¥ÀÌÅ͹üÀ§¿¡¼­ ÃÖ»ó´Ü ÇàÀÇ °¢°¢ÀÇ ¿­À» Çʵå·Î °¡Á¤ÇÕ´Ï´Ù. ±×¸®°í ÇʵåÀÇ À̸§À» ÇÊÆ® ¸®½ºÆ®»óÀÚ¿¡ ÀÔ·ÂÇÕ´Ï´Ù.

¸Å°³º¯¼ö·Î´Â ¹üÀ§°³Ã¼º¯¼ö¸¦ ¹Þ½À´Ï´Ù. Áï ¼±ÅÃÇÑ µ¥ÀÌÅ͹üÀ§¸¦ ³Ñ°Ü¹Þ½À´Ï´Ù.
Private Sub AddItemIntoList(rngData As Range)

     Dim i As Byte
     Dim rngFlds As Range
     Dim strFirstCell As String

¼±ÅÃÇÑ ¹üÀ§¿¡¼­ ±× ÁÖ¼Ò´Â ¿¹¸¦ µé¾î "$A$2:$E$110" ó·³ Ç¥½ÃµÉ °ÍÀÔ´Ï´Ù. À̶§ ":" ÀÌÀüÀÇ ÁÖ¼Ò°ªÀÎ "$A$2" ¸¦ ÃßÃâÇÕ´Ï´Ù. ÀÌ´Â ÇʵåÀÇ °ªÀ» ¾ò±â À§ÇÑ ÁغñÀε¥, À̺¸´Ù ´õ ÁÁÀº ¹æ¹ýµµ ÀÖÀ» °Ì´Ï´Ù. ¿©±â¼­´Â Left()ÇÔ¼ö¿Í InStr()ÇÔ¼ö¸¦ »ç¿ëÇÏ¿´½À´Ï´Ù. 
     strFirstCell = Left(rngData.Address, InStr(1, rngData.Address, ":") - 1)

Left()ÇÔ¼ö´Â ¹®ÀÚ¿­ÀÇ ¿ÞÂʺÎÅÍ ½ÃÀÛÇÏ¿© ÁöÁ¤ÇÑ ¸¸Å­ÀÇ ¹®ÀÚ¿­À» µÇµ¹·ÁÁÖ´Â ÇÔ¼öÀÔ´Ï´Ù.

InStr()´Â ãÀ¸·Á´Â ¹®ÀÚÀÇ À§Ä¡¸¦ ¾Ë·ÁÁÖ´Â ÇÔ¼öÀÔ´Ï´Ù. Áï InStr(1, rngData.Address, ":") Àº rngData.Address³»¿¡¼­ óÀ½(1)ºÎÅÍ ½ÃÀÛÇÏ¿© ':' ¶ó´Â ¹®ÀÚ¸¦ ã¾Æ ±×À§Ä¡¸¦ µ¹·ÁÁÖ¶ó´Â ÀǹÌÀÌÁÒ. 

°¡·É $A$2:$E$110¶ó´Â ÁÖ¼Ò°¡ ÀÖÀ»¶§Left("$A$2:$E$110", InStr(1, "$A$2:$E$110", ":") - 1) Çϸé '$A$2'¸¸À» µ¹·ÁÁÙ °ÍÀÔ´Ï´Ù.

¾Õ¼­ ±¸ÇÑ ¹üÀ§ÀÇ Ã¹¹ø° ¼¿°ªÀ» °¡Áö°í ÇʵåÀ̸§ÀÌ ÀÖ´Â ¼¿¹üÀ§¸¦ ±¸ÇÕ´Ï´Ù.
     Set rngFlds = Range(ActiveSheet.Range(strFirstCell), ActiveSheet.Range(strFirstCell).End(xlToRight))
¿©±â¼­ ´«¿¡ ¶ç´Â °ÍÀº .End(xlToRight) ÀÌÁÒ. ÀÌ´Â Range°³Ã¼ÀÇ ¼Ó¼ºÁß Çϳª·Î¼­ Range°³Ã¼¸¦ Áß½ÉÀ¸·Î »óÇÏÁ¿ì·Î µ¥ÀÌÅÍ°¡ ÀÖ´Â ¹üÀ§ÀÇ ³¡À» ÀǹÌÇÕ´Ï´Ù.
End¼Ó¼º¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â °ªÀº ´ÙÀ½°ú °°½À´Ï´Ù. xlUp, xlDown, xlToLeft, xlToRight
ÀÚ¼¼ÇÑ »çÇ×Àº ÷ºÎÇÑ ot005.xlsÆÄÀÏÀÇ Range_End¿öÅ©½ÃÆ®¿Í ±× ½ÃÆ®ÀÇ Sub RangeEnd¿¬½À() ÇÁ·Î½ÃÀú¸¦ ½ÇÇàÇغ¸½Ã¸é ¾Æ½Ç °Ì´Ï´Ù. ²À º¸½Ã±æ ¹Ù¶ø´Ï´Ù

ÇʵåÀ̸§ÀÌ ÀÖ´Â ¼¿¹üÀ§(rngFlds)¸¦ ±¸ÇÏ¿´´Ù¸é °¢°¢ÀÇ Çʵ尪À» Çʵ帮½ºÆ®»óÀÚ(lbFields)¿¡ ÀÔ·ÂÇÕ´Ï´Ù. À̶§ Columns¶ó´Â ÇÏÀ§°³Ã¼¸¦ »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù. ±×¸®°í ´Ù½Ã ¿­ÀÇ °¹¼ö¸¦ ¾Ë·ÁÁÖ´Â Count¼Ó¼ºÀ» ÀÌ¿ëÇÏ¿© ·çÇÁ¹®À» µ¹¸®¸é¼­ ¹üÀ§ÀÇ °¢ °ªÀ» ¸®½ºÆ®»óÀÚ(lbFields) Ç׸ñÀ¸·Î Ãß°¡ÇÕ´Ï´Ù.

     For i = 1 To rngFlds.Columns.Count

¸®½ºÆ®»óÀÚ(lbFields)¿¡ ¾ÆÀÌÅÛÀ» Ãß°¡ÇÏ´Â °ÍÀº AddItem¹æ¹ýÀ» »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù. ¶Ç ¹üÀ§°³Ã¼(rngFlds)ÀÇ °¢ ¼¿ÀÇ °ªÀ» Àоî¿À±â À§ÇØ Item(r,c)À» »ç¿ëÇÏ¿´½À´Ï´Ù.
Item¼Ó¼º(ȤÀº °³Ã¼·Îµµ »ç¿ëÇÕ´Ï´Ù)Àº Item(r,c) ȤÀº Item(r) »ç¿ëÇÏ´Â µ¥ r°ú c°ª¿¡ ÀÇÇØ ÁöÁ¤µÈ ¹üÀ§ÀÇ °³Ã¼¸¦ µ¹·ÁÁÝ´Ï´Ù. 

        lbFields.AddItem rngFlds.Item(1, i)
     Next

     Set rngFlds = Nothing

End Sub

È®ÀÎ(OK)¹öÆ°À» Ŭ¸¯ÇÏ´Â °æ¿ì ó¸®ÇÏ´Â À̺¥Æ®ÀÔ´Ï´Ù. ¿©±â¼­ ³ª¿À´Â ±½°ÔÇ¥½ÃÇÑ ºÎºÐÀº ´ÙÀ½ ½Ã°£¿¡ ¼³¸íµå¸± ÇÁ·Î½ÃÁ®¶ó ¿À´ÃÀº »ý·«ÇÕ´Ï´Ù. ´Ù¸¸ ±â´É¸¸ °£´ÜÈ÷ ¼³¸íÇϸé
CreateDatabase      Àӽõ¥ÀÌÅͺ£À̽º¸¦ ¸¸µå´Â ÇÁ·Î½ÃÁ®
CreateRecordset     ¼±ÅÃÇÑ ¹üÀ§¿¡ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÏ´Â ÇÁ·Î½ÃÁ®
FilterRecordset      Á¶°Ç¿¡ µû¶ó ÇÊÅ͸µÇÏ´Â ÇÁ·Î½ÃÁ®


Private Sub cmdOK_Click()
     Dim i As Byte

    CreateDatabase rngData
    CreateRecordset rngData


¾Æ·¡ÀÇ ÄÚµå´Â ÇÊÅ͸µÇÒ Çʵå¿Í °ªÀ» ã¾Æ ÇÊÅ͸µÇÁ·Î½ÃÁ®(FilterRecordset)¿¡ ³Ñ°ÜÁÖ´Â ºÎºÐÀÔ´Ï´Ù. ¸®½ºÆ®»óÀÚ(lbFields)ÀÇ ¸ðµç Ç׸ñÀ» ·çÇÁ·Î µ¹¸®¸é¼­ ¼±ÅõǾú´Â°¡(Selected)¸¦ ã¾Æ³À´Ï´Ù. 
     For i = 0 To lbFields.ListCount - 1
        If lbFields.Selected(i) Then
           FilterRecordset lbFields.List(i), txtValue.Text

ã¾Æ³»¾î ÇÊÅ͸µÇÁ·Î½ÃÁ®¿¡ °ªÀ» ³Ñ°å´Ù¸é ´õÀÌ»ó ·çÇÁ¸¦ µ¹¸± ÇÊ¿ä°¡ ¾øÀ¸¹Ç·Î ¾Æ·¡¿Í °°ÀÌ For¹®À» ºüÁ®³ª¿É´Ï´Ù.
           Exit For
        End If
     Next i

¾Õ¼­¿¡¼­´Â Me´Â ÇöÀçÀÇ À¯ÀúÆûÀ» ÀǹÌÇÑ´Ù°í ¸»¾¸µå·ÈÁÒ. ¸ðµç ÀÛ¾÷ÀÌ ³¡³µÀ¸¹Ç·Î ÀÚ½ÅÀ» ¸Þ¸ð¸®¿¡¼­ ¾ð·ÎµåÇÕ´Ï´Ù.
     Unload Me
End Sub

¿À´ÃÀº ¿©±â±îÁöÀÔ´Ï´Ù. ´ÙÀ½ ½Ã°£¿¡ ³ª¸ÓÁö ºÎºÐÀ» °¡Áö°í ã¾Æ ºË°Ú½À´Ï´Ù.¡¡

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

¡¡

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