ÀÌ È¨ÆäÀÌÁöÀÇ ÀÚ·á´Â 100% ¹«·á·Î ÀÌ¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù. [ÀúÀÛ±Ç ¾È³»]

MAIN

 HOME | °øÁö | ÁýÁÖÀÎ ¼Ò°³ | »çÀÌÆ® ÃëÁö | ¹æ¸í·Ï

EXCEL*

 ÃÊ±Þ | Áß±Þ | °í±Þ | ³×Æ®¿öÅ© | FAQs | Q&A | Tip & Sources
 µ¿¿µ»ó °­Á ´Ù¿î·Îµå | MOUS  | OFFICE XP | ¿¢¼¿ µ¿¿µ»ó(Ç÷¡½¬) °­ÁÂ

RESOURCES

 ÄÄÇ»ÅÍ ±âÃÊ / Win98 | Win 2000 ¼­¹ö | Open Office

"Thinking Global, Acting Local!" - âýìÑ



9. VBA·Î ¼ºÀû °ü¸® ÇÁ·Î±×·¥ ¸¸µé±â 2 ÇöÀç °­Á PDF·Î ´Ù¿î·Îµå ¹Þ±â ÇöÀç °­Á ÀμâÇϱâ

°è¼ÓÇØ¼­ ¼ºÀû°ü¸®±â¸¦ ¸¸µé°Ú½À´Ï´Ù.
¾Õ¿¡¼­ ¹è¿ü´ø VBA ÇÁ·Î±×·¡¹ÖÀÇ ¼ø¼­¸¦ Àß »ý°¢Çϸ鼭 µû¶ó¿À½Ã±â ¹Ù¶ø´Ï´Ù.

2-2> 2 ´Ü°è - ¼Ó¼º ÁöÁ¤Çϱâ

¨ç ÀÌÁ¦ VBA ÇÁ·Î±×·¡¹ÖÀÇ Ã¹ ¹øÂ° ´Ü°èÀÎ "ÄÁÆ®·Ñ ÀÛ¼º"ÀÌ ³¡³µ½À´Ï´Ù.
´ÙÀ½À¸·Î ÄÁÆ®·Ñ¿¡ ¼Ó¼ºÀ» ÁöÁ¤ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. Çаú ÀÔ·ÂÀº "¸ñ·Ï»óÀÚ"¸¦ ÀÌ¿ëÇÒ °ÍÀ̹ǷΠ¿¬°áµÇ´Â ¸ñ·ÏÀÌ ¹Ì¸® ¸¸µé¾îÁ® ÀÖ¾î¾ß ÇÕ´Ï´Ù. Sheet1ÀÇ À̸§À» "¸ñ·Ï"À¸·Î º¯°æÇÑ ÈÄ ¼¿¿¡ ´ÙÀ½°ú °°Àº ¸ñ·ÏÀ» ÀÔ·ÂÇÕ´Ï´Ù.


¨è ´Ù½Ã "´ëÈ­»óÀÚ" ½ÃÆ®·Î µ¹¾Æ¿É´Ï´Ù. ÇаúÀԷ¶õÀÇ ¸ñ·Ï »óÀÚ¸¦ ¼±ÅÃÇÏ°í ¸¶¿ì½º ¿À¸¥ÂÊÀ» Ŭ¸¯ÇÕ´Ï´Ù. ´ÜÃà¸Þ´º°¡ ³ªÅ¸³ª¸é "ÄÁÆ®·Ñ ¼­½Ä"À» ¼±ÅÃÇÕ´Ï´Ù.


¨é ÄÁÆ®·Ñ ¼­½Ä ´ëÈ­»óÀÚ°¡ ³ªÅ¸³³´Ï´Ù. ÀԷ¹üÀ§ Ç׸ñÀÇ ÂüÁ¶ ¹öưÀ» Ŭ¸¯ÇÕ´Ï´Ù. "¸ñ·Ï" ½ÃÆ®¸¦ ¼±ÅÃÇÑ ÈÄ ÀÔ·ÂµÈ ¸ñ·ÏÀÇ ¹üÀ§¸¦ ¼±ÅÃÇÕ´Ï´Ù.


¨ê ¸ñ·Ï ÀÔ·ÂÀÌ ³¡³µÀ¸¸é ´Ù½Ã ÂüÁ¶ ¹öư( )À» Ŭ¸¯ÇÕ´Ï´Ù. ÄÁÆ®·Ñ ¼­½Ä ´ëÈ­»óÀÚ°¡ ³ªÅ¸³ª¸é, ÀÔ·ÂµÈ ¸ñ·ÏÀ» È®ÀÎÇÑ ÈÄ [È®ÀÎ]À» Ŭ¸¯ÇÕ´Ï´Ù.


¨ë ´ëÈ­»óÀÚÀÇ ¸ñ·Ï ÄÁÆ®·Ñ¿¡ ÀÔ·Â ¹üÀ§ÀÇ Ç׸ñµéÀÌ ³ªÅ¸³³´Ï´Ù.



2-3> 3 ´Ü°è(¸¶Áö¸· ´Ü°è) - ÄÚµå ÀÛ¼ºÇϱâ

¨ç ÀÌÁ¦ VBA ÇÁ·Î±×·¡¹ÖÀÇ 2´Ü°è±îÁö ³¡³µ½À´Ï´Ù. ³²Àº °ÍÀº °¢ ÄÁÆ®·Ñ¿¡ ¿¬°èµÈ Äڵ带 ÀÛ¼ºÇÏ´Â °úÁ¤ÀÔ´Ï´Ù.(ÄÚµù) Äڵ带 ÀÛ¼ºÇϱâ À§ÇØ + À» ´­·¯¼­ Visual Basic Editor¸¦ ½ÇÇàÇÕ´Ï´Ù.


¨è ÄÚµùÀ» ÇÏ·Á¸é ¸ðµâ(Module)À» »ðÀÔÇØµÎ¾î¾ß ÇÕ´Ï´Ù. ¸ðµâÀ̶õ ÄÚµåÀÇ ³»¿ëÀ» Æ÷ÇÔÇϰí ÀÖ´Â ½ÃÆ®¶ó°í »ý°¢ÇÏ¸é µË´Ï´Ù. [»ðÀÔ-¸ðµâ]À» Ŭ¸¯ÇÕ´Ï´Ù.


¨é ´ÙÀ½ ±×¸²°ú °°ÀÌ ¸ðµâÀÌ »ðÀԵǾú½À´Ï´Ù. »ðÀÔµÈ ¸ðµâ¿¡ Äڵ带 ÀÛ¼ºÇÏ¸é µË´Ï´Ù.


¨ê Áö±ÝºÎÅÍ °¢°¢ÀÇ À̺¥Æ®¿¡ ÇØ´çÇÏ´Â Äڵ带 ¸¸µé°Ú½À´Ï´Ù. ÀÌ·¯ÇÑ Äڵ带 ÇÁ·Î½ÃÁ®(Procedeur)¶ó°í ÇÕ´Ï´Ù. Á¦ÀÏ ¸ÕÀú ¸¸µé °ÍÀº Çаú¸¦ ÀÔ·ÂÇÏ´Â °ÍÀÔ´Ï´Ù. ´ëÈ­»óÀÚ¿¡¼­ ÀԷ¹ÞÀº Çаú¸íÀ» Á¤ÇØÁø ½ÃÆ®¿¡ µÇµ¹¸®´Â ÀÛ¾÷ÀÔ´Ï´Ù. ¸ðµâ¿¡ ´ÙÀ½°ú °°ÀÌ Äڵ带 ÀÔ·ÂÇÕ´Ï´Ù.


Áö±Ý ÀÔ·ÂÇÑ ÇÁ·Î½ÃÀúÀÇ ³»¿ëÀ» Á¶±Ý ´õ ¾Ë¾Æº¸°Ú½À´Ï´Ù. 

Sub ÇаúÀÔ·Â()
<- ÇаúÀÔ·ÂÀ̶ó´Â ÇÁ·Î½ÃÀú¸¦ ½ÃÀÛÇÑ´Ù. Sub¿Í End Sub »çÀÌÀÇ ³»¿ëÀÌ ÇϳªÀÇ ÇÁ·Î½ÃÀú·Î ÀνĵȴÙ.
Sheets("¼ºÀû°á°ú").Select
<- "¼ºÀû°á°ú"¶ó´Â ½ÃÆ®¸¦ ¼±ÅÃÇÑ´Ù.
Range("a3").Select
<- a3 ¼¿À» ¼±ÅÃÇÑ´Ù.
Çаú¸í = DialogSheets("´ëÈ­»óÀÚ").EditBoxes("ÇаúÀԷ¶õ").Text
<- ´ëÈ­»óÀÚÀÇ ÇаúÀԷ¶õÀ̶ó´Â ÅØ½ºÆ® ¹Ú½º(Editbox)¿¡ ÀԷ¹ÞÀº °ªÀ»
"Çаú¸í"À̶ó´Â º¯¼ö¿¡ ´ã´Â´Ù.

ActiveCell.FormulaR1C1 = Çаú¸í
<- ÇöÀç ¼±ÅÃµÈ ¼¿¿¡ "Çаú¸í" º¯¼öÀÇ ³»¿ëÀ» Ãâ·ÂÇÑ´Ù.
End Sub
<- ÇаúÀÔ·ÂÀ̶ó´Â ÇÁ·Î½ÃÀú¸¦ ³¡³½´Ù.

Visual BasicÀº ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿Í´Â ´Þ¸® »ç¶÷ÀÌ ¾Ë¾Æº¸±â ½¬¿î ±¸¹®À¸·Î µÇ¾î ÀÖ½À´Ï´Ù. ºñÁê¾ó º£ÀÌÁ÷À» óÀ½ Á¢ÇÏ´Â ºÐµéµµ Å©°Ô ¾î·Á¿òÀÌ ¾øÀ» °ÍÀÔ´Ï´Ù.

¨ë ¸ðµç °á°ú¸¦ "¼ºÀû°á°ú"¶ó´Â ½ÃÆ®¿¡ µÇµ¹¸± °ÍÀ̹ǷΠSheet 2ÀÇ À̸§À» ¼ºÀû°á°ú·Î º¯°æÇÕ´Ï´Ù. Âü°í·Î ½ÃÆ®ÅÇÀ» ´õºíŬ¸¯ÇÏ¸é ½ÃÆ®À̸§À» ½±°Ô º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. Áö±Ý±îÁö ÀÛ¾÷À¸·Î ¸ðµÎ 3°³ÀÇ ½ÃÆ®°¡ ÇÊ¿äÇÕ´Ï´Ù.


¨ì °è¼ÓÇØ¼­ À̸§°ú Çйø ÀÔ·Â, ±×¸®°í °¢ Á¡¼ö¸¦ ÀÔ·ÂÇÏ´Â ÇÁ·Î½ÃÀú¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ÀÏÀÏÀÌ Äڵ带 ÀÔ·ÂÇØµµ µÇÁö¸¸, °ÅÀÇ ºñ½ÁÇϱ⠶§¹®¿¡ º¹»çÇØ¼­ ºÙ¿©³Ö±â¸¦ ÇÏ´Â °ÍÀÌ È¿À²ÀûÀÔ´Ï´Ù. ±× ÈÄ ÇÊ¿äÇÑ ºÎºÐ¸¸ º¯°æÇØÁÖ´Â °ÍÀÔ´Ï´Ù.


"¼ºÀû°á°ú" ½ÃÆ®¿¡ µÇµ¹·ÁÁö´Â ¼¿¸¸ Â÷À̰¡ ÀÖÀ» »Ó ¸ðµÎ °°Àº ±¸¹®À̹ǷΠ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ½À´Ï´Ù.

¨í Áö±Ý±îÁö ¸¸µç ÇÁ·Î½ÃÀú°¡ Á¦´ë·Î ÀÛµ¿ÇÏ´ÂÁö¸¦ È®ÀÎÇØº¸°Ú½À´Ï´Ù. "´ëÈ­»óÀÚ" ½ÃÆ®·Î µ¹¾Æ¿Â ÈÄ ¾ç½Ä µµ±¸¸ðÀ½¿¡¼­ ´ëÈ­»óÀÚ ½ÇÇà ¹öưÀ» Ŭ¸¯ÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ´ëÈ­»óÀÚ°¡ ½ÇÇàµÉ °ÍÀÔ´Ï´Ù.


¨î Çаú¿Í Çйø, ±×¸®°í °¢ °ú¸ñÀ» Á¡¼ö¸¦ ÀÔ·ÂÇÑ ÈÄ [È®ÀÎ]À» Ŭ¸¯ÇÕ´Ï´Ù.


[È®ÀÎ]À» Ŭ¸¯Çصµ ¾Æ¹«·± °á°ú°¡ »ý±âÁö ¾Ê´Â °ÍÀº ÇöÀç [È®ÀÎ] ¹öư°ú ¿¬°áµÈ ÇÁ·Î½ÃÀú°¡ ¾ø±â ¶§¹®ÀÔ´Ï´Ù. 

¨ï "¼ºÀû°á°ú" ½ÃÆ®¸¦ ¼±ÅÃÇÑ ÈÄ [µµ±¸-¸ÅÅ©·Î-¸ÅÅ©·Î]¸¦ ¼±ÅÃÇÏ¸é ¸ÅÅ©·Î ´ëÈ­»óÀÚ¿¡ Áö±Ý±îÁö ÀÛ¼ºÇÑ ÇÁ·Î½ÃÀú°¡ ³ªÅ¸³³´Ï´Ù. 


¨ð "ÇйøÀÔ·Â" ¸ÅÅ©·Î¸¦ ¼±ÅÃÇϰí [½ÇÇà] ¹öưÀ» Ŭ¸¯ÇÕ´Ï´Ù. ±×·¯¸é ÇйøÀÔ·Â ÇÁ·Î½ÃÀú¿¡ ÀÇÇØ¼­ ´ëÈ­»óÀÚ¿¡ ÀÔ·ÂµÈ Çйø¿¡ "¼ºÀû°á°ú" ½ÃÆ®ÀÇ B3¼¿¿¡ µÇµ¹·ÁÁö°Ô µË´Ï´Ù.

¨ñ Áö±Ý±îÁö ÀÛ¼ºÇÑ ÇÁ·Î½ÃÀú´Â ÀÌ»ó¾øÀÌ Àß ÀÛµ¿ÇÏ´Â °ÍÀ» ¾Ë¾Ò½À´Ï´Ù. °è¼ÓÇØ¼­ ÃÑÁ¡, Æò±Õ, ¼öÁØÀ» ³ªÅ¸³»´Â ÇÁ·Î½ÃÀú¸¦ ÀÛ¼ºÇϰڽÀ´Ï´Ù. Visual Basic Editor·Î µ¹¾Æ¿Í¼­ ´ÙÀ½ Äڵ带 ÀÔ·ÂÇÕ´Ï´Ù.

ÃÑÁ¡_Æò±Õ_¼öÁØ ÇÁ·Î½ÃÀúÀÇ ³»¿ëÀº ´ÙÀ½°ú °°½À´Ï´Ù.

Sub ÃÑÁ¡_Æò±Õ_¼öÁØ()
ÇàÁ¤»çÁ¡¼ö = Int(DialogSheets("´ëÈ­»óÀÚ").EditBoxes("ÇàÁ¤»çÁ¡¼ö").Text)
<-´ëÈ­»óÀÚÀÇ ÇàÁ¤»çÁ¡¼ö ÅØ½ºÆ®¶õ¿¡ ÀÔ·ÂµÈ Á¡¼ö¸¦ "ÇàÁ¤»çÁ¡¼ö"¶ó´Â º¯¼ö¿¡ ´ã´Â´Ù
Á¤¼ö·Î ÀνĽÃ۱â À§Çؼ­ Int ÇÔ¼ö¸¦ »ç¿ëÇß´Ù.
Á¤Ä¡ÇÐÁ¡¼ö = Int(DialogSheets("´ëÈ­»óÀÚ").EditBoxes("Á¤Ä¡ÇÐÁ¡¼ö").Text)
Çå¹ýÇÐÁ¡¼ö = Int(DialogSheets("´ëÈ­»óÀÚ").EditBoxes("Çå¹ýÇÐÁ¡¼ö").Text)
ÃÑÁ¡ = ÇàÁ¤»çÁ¡¼ö + Á¤Ä¡ÇÐÁ¡¼ö + Çå¹ýÇÐÁ¡¼ö
<-ÇàÁ¤»çÁ¡¼ö¿Í Á¤Ä¡ÇÐÁ¡¼ö, Çå¹ýÇÐÁ¡¼ö¸¦ ÇÕÇÑ °ªÀ» "ÃÑÁ¡"À̶ó´Â º¯¼ö¿¡ ´ã´Â´Ù.
DialogSheets("´ëÈ­»óÀÚ").EditBoxes("ÃÑÁ¡").Text = ÃÑÁ¡
<-"ÃÑÁ¡"À» ´ëÈ­»óÀÚÀÇ "ÃÑÁ¡"ÀԷ¶õ¿¡ ³ªÅ¸³½´Ù.
Sheets("¼ºÀû°á°ú").Select
Range("g3").Select
ActiveCell.FormulaR1C1 = ÃÑÁ¡
<-¼ºÀû°á°ú ½ÃÆ®ÀÇ g3¼¿À» ¼±ÅÃÇÑ ÈÄ "ÃÑÁ¡"À» Ãâ·ÂÇÑ´Ù.
Æò±Õ = ÃÑÁ¡ / 3
<-ÃÑÁ¡¿¡¼­ 3À» ³ª´« °ªÀ» "Æò±Õ"À̶ó´Â º¯¼ö¿¡ ´ã´Â´Ù.
DialogSheets("´ëÈ­»óÀÚ").EditBoxes("Æò±Õ").Text = ÃÑÁ¡
Range("h3").Select
ActiveCell.FormulaR1C1 = Æò±Õ
If Æò±Õ >= 85 Then
DialogSheets("´ëÈ­»óÀÚ").EditBoxes("¼öÁØ").Text = "A"
<-¸¸¾à Æò±ÕÀÌ 85Á¡ ÀÌ»óÀÌ¸é ´ëÈ­»óÀÚÀÇ ¼öÁØ ÅØ½ºÆ® ÀԷ¶õ¿¡ A¸¦ Ç¥½ÃÇÑ´Ù.
ElseIf Æò±Õ >= 60 Then
DialogSheets("´ëÈ­»óÀÚ").EditBoxes("¼öÁØ").Text = "B"
<-Æò±ÕÀÌ 65Á¡¿¡¼­ 85Á¡ »çÀÌÀÌ¸é ´ëÈ­»óÀÚÀÇ ¼öÁØ ÅØ½ºÆ® ÀԷ¶õ¿¡ B¸¦ Ç¥½ÃÇÑ´Ù.
Else
DialogSheets("´ëÈ­»óÀÚ").EditBoxes("¼öÁØ").Text = "C"
End If
Range("i3").Select
°á°ú = DialogSheets("´ëÈ­»óÀÚ").EditBoxes("¼öÁØ").Text
<-´ëÈ­»óÀÚÀÇ ¼öÁØ ÀԷ¶õÀÇ °ªÀ» "°á°ú"¶ó´Â º¯¼ö¿¡ ´ã´Â´Ù.
ActiveCell.FormulaR1C1 = °á°ú
<-i3¼¿À» ¼±ÅÃÇÑ ÈÄ "°á°ú"¸¦ Ãâ·ÂÇÑ´Ù.
End Sub

¨ò ¸ðµç ÇÏÀ§ ÇÁ·Î½ÃÀú°¡ ¸¸µé¾îÁ³½À´Ï´Ù. ÀÌÁ¦ ÀÌ ÇÁ·Î½ÃÀúµéÀ» Çѹø¿¡ ½ÇÇàÇÒ ¼ö ÀÖ´Â ÇÁ·Î½ÃÀú¸¦ ¸¸µé¾î¾ß ÇÕ´Ï´Ù. ÀÌ ÇÁ·Î½ÃÀúÀÇ À̸§Àº "Àüü½ÇÇà"À¸·Î ÇÕ´Ï´Ù.


Àüü½ÇÇà ÇÁ·Î½ÃÀú°¡ ¸¸µé¾îÁ³À¸¹Ç·Î, ¾ÕÀ¸·Î´Â "Àüü½ÇÇà" ÇÁ·Î½ÃÀú¸¸ ½ÇÇàÇÏ¸é ¸ðµç ÇÏÀ§ ÇÁ·Î½ÃÀú°¡ ÀÚµ¿À¸·Î ½ÇÇàµÇ°Ô µË´Ï´Ù.

¨ó Àüü½ÇÇà ÇÁ·Î½ÃÀú°¡ ¿Ã¹Ù·Î ÀÛµ¿ÇÏ´ÂÁö Å×½ºÆ®Çغ¸°Ú½À´Ï´Ù. "¼ºÀû°á°ú" ½ÃÆ®¸¦ ¼±ÅÃÇÕ´Ï´Ù. [µµ±¸-¸ÅÅ©·Î-¸ÅÅ©·Î]¸¦ ¼±ÅÃÇÑ ÈÄ "Àüü½ÇÇà" ¸ÅÅ©·Î¸¦ ¼±ÅÃÇϰí [½ÇÇà]À» Ŭ¸¯ÇÕ´Ï´Ù.


¨ô 3Çà¿¡ ´ëÈ­»óÀÚ¿¡ ÀÔ·ÂµÈ °ªÀÌ ±×´ë·Î µÇµ¹·ÁÁ³½À´Ï´Ù. 


¨õ ÀÌÁ¦ ´ëÈ­»óÀÚ°¡ Ç×»ó ½ÇÇàµÇ°Ô²û ¼Ò½º¸¦ ¼öÁ¤ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. ´ëÈ­»óÀÚ°¡ °è¼Ó ½ÇÇàµÇ¾î¾ß¸¸ ´Ù¸¥ »ç¶÷µéÀÇ Á¤º¸µµ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù. "Àüü½ÇÇà" ÇÁ·Î½ÃÁ®ÀÇ ¼Ò½º¸¦ ´ÙÀ½°ú °°ÀÌ º¯°æÇÕ´Ï´Ù.



ÀÌ ¼Ò½ºÀÇ Àǹ̴ ´ÙÀ½°ú °°½À´Ï´Ù.

Sub Àüü½ÇÇà()
Àç½ÇÇà:
If DialogSheets("´ëÈ­»óÀÚ").Show Then
<- ¸¸¾à ´ëÈ­»óÀÚ°¡ °è¼Ó º¸¿©Áø´Ù¸é (Áï, »ç¿ëÀÚ°¡ Ãë¼Ò ¹öưÀ» ´©¸£Áö ¾Ê´Â´Ù¸é)
ÇаúÀÔ·Â
ÇйøÀÔ·Â
À̸§ÀÔ·Â
ÇàÁ¤»çÁ¡¼öÀÔ·Â
Á¤Ä¡ÇÐÁ¡¼öÀÔ·Â
Çå¹ýÇÐÁ¡¼öÀÔ·Â
ÃÑÁ¡_Æò±Õ_¼öÁØ

GoTo Àç½ÇÇà
<- ¹Ýº¹Çؼ­ ÇÁ·Î½ÃÀú¸¦ ½ÇÇàÇÑ´Ù.
Else
End If
<- ±×·¸Áö ¾ÊÀ¸¸é(Áï, »ç¿ëÀÚ°¡ Ãë¼Ò¹öưÀ» ´­·¯ ´ëÈ­»óÀÚ¸¦ ¾ø¾Ø´Ù¸é)
ÇÁ·Î½ÃÀú¸¦ Á¾·áÇÑ´Ù.
End Sub

´Ù½Ã ÇÁ·Î½ÃÀú¸¦ È®ÀÎÇØ º¾´Ï´Ù. "¼ºÀû°á°ú" ½ÃÆ®¿¡¼­ "Àüü½ÇÇà" ¸ÅÅ©·Î¸¦ ½ÇÇàÇÕ´Ï´Ù.
´ëÈ­»óÀÚ°¡ ¾ø¾îÁöÁö ¾Ê°í °è¼ÓÇØ¼­ »ý±â´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ°¡ [Ãë¼Ò] ¹öưÀ» Ŭ¸¯Çؾ߸¸ Àüü ¸ÅÅ©·Î°¡ ÁßÁöµË´Ï´Ù.


±×·±µ¥ ÀÌ»óÇÑ Á¡À» ¹ß°ßÇßÀ» °ÍÀÔ´Ï´Ù. »õ·Î¿î µ¥ÀÌÅ͸¦ ÀÔ·ÂÇØµµ °è¼ÓÇØ¼­ 3Çà¿¡¸¸ ÀÔ·ÂÀ̵ÇÁÒ? ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ Àüü ÇÁ·Î½ÃÀú¸¦ º¯°æÇØÁÖ¾î¾ß ÇÕ´Ï´Ù. ÀԷµǴ µ¥ÀÌÅ͸¦ °è¼ÓÇØ¼­ ´ÙÀ½Çà¿¡ ÀÔ·ÂÇϱâ À§Çؼ­ "ÇöÀç ¼¿ÀÇ ¿µ¿ª(Current Region)"À̶ó´Â °³³äÀ» ÀÌ¿ëÇÏ°Ô µË´Ï´Ù. ½ÃÆ®¿¡ ´ÙÀ½°ú °°ÀÌ Ç׸ñÀ» ÀÔ·ÂÇÕ´Ï´Ù.


A1¼¿À» ¼±ÅÃÇÑ ÈÄ [ÆíÁý-À̵¿]À» ¼±ÅÃÇÕ´Ï´Ù. À̵¿ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³ª¸é [¿É¼Ç] ¹öưÀ» Ŭ¸¯ÇÕ´Ï´Ù. À̵¿ ¿É¼Ç ´ëÈ­»óÀÚ°¡ ³ªÅ¸³ª¸é "ÇöÀç ¼¿ÀÌ ÀÖ´Â ¿µ¿ª"À» ¼±ÅÂÇϰí [È®ÀÎ]À» ´©¸¨´Ï´Ù.


A1¼¿À» ±âÁØÀ¸·Î ÇöÀç ¼¿ÀÌ ÀÖ´Â ¿µ¿ªÀÇ ¹üÀ§°¡ ¼±ÅõǾú½À´Ï´Ù. ÇöÀç ¼¿ÀÌ ÀÖ´Â ¿µ¿ªÀº ÇöÀç ¼¿ ÁÖÀ§ÀÇ »ç°¢Çü ¼¿ ¹üÀ§¸¦ ¼±ÅÃÇÏ°Ô µË´Ï´Ù. Áï, ºó Çà°ú ºó ¿­À» °æ°è·Î ¹üÀ§°¡ ¼±ÅõǾîÁö´Â °ÍÀÔ´Ï´Ù.


»ç°¢ÇüÀ¸·Î ¹üÀ§°¡ ¼±ÅõDZ⠶§¹®¿¡ A1:I4ÀÇ ¹üÀ§°¡ ¸ðµÎ ¼±ÅõȴÙ.
´ÙÀ½ ±×¸²Àº A4¼¿¿¡ µ¥ÀÌÅͰ¡ µé¾îÀÖ´Â °æ¿ì¿¡ ÇöÀç ¼¿ÀÌ ÀÖ´Â ¿µ¿ªÀ» ¼±ÅÃÇÑ ¸ð½ÀÀÔ´Ï´Ù.


Ç×»ó µ¥ÀÌÅͰ¡ ÀÔ·ÂµÈ ´ÙÀ½Çà¿¡ µ¥ÀÌÅ͸¦ Ãß°¡ÀûÀ¸·Î ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù.
ÀÌ·¯ÇÑ "ÇöÀç ¼¿ÀÌ ÀÖ´Â ¿µ¿ª"À» ÀÌ¿ëÇØ¼­ "ÇаúÀÔ·Â" ÇÁ·Î½ÃÀúÀÇ ³»¿ëÀ» ´ÙÀ½°ú °°ÀÌ º¯°æÇÕ´Ï´Ù.


ÀÌ ÇÁ·Î½ÃÀúÀÇ Àǹ̴ ´ÙÀ½°ú °°½À´Ï´Ù.

Sub ÇаúÀÔ·Â()
Sheets("¼ºÀû°á°ú").Select
'Range("a3").Select
<- ±¸¹®¾Õ¿¡ '¸¦ ÀÔ·ÂÇϸé ÀÌ ±¸¹®Àº ½ÇÇàµÇÁö ¾Ê´Â´Ù.
Set ÇöÀ缿¿µ¿ª = Sheets("¼ºÀû°á°ú").Range("a1").CurrentRegion
<- ÇöÀ缿¿µ¿ªÀ» ¼³Á¤Çϴµ¥, ¼ºÀû°á°ú ½ÃÆ®ÀÇ a1¼¿À» ±âÁØÀ¸·Î ÇöÀç ¼¿ÀÌ ÀÖ´Â ¿µ¿ªÀ» 
¼±ÅÃÇÑ´Ù.
ÇаúÇà = ÇöÀ缿¿µ¿ª.Rows.Count + 1
<-ÇöÀ缿¿µ¿ª¿¡ 1Ä­À» Áõ°¡½ÃŲ ÇàÀ» ÇаúÇàÀ¸·Î ÁöÁ¤ÇÑ´Ù.
Range(Cells(ÇаúÇà, 1), Cells(ÇаúÇà, 1)).Select
<-ÇаúÇàÀ» ±âÁØÀ¸·Î ù ¹øÂ° Çà, ù ¹øÂ° ¿­À» ¼±ÅÃÇÑ´Ù.
Çаú¸í = DialogSheets("´ëÈ­»óÀÚ").EditBoxes("ÇаúÀԷ¶õ").Text
ActiveCell.FormulaR1C1 = Çаú¸í
End Sub

ÀÌ ¹æ¹ýÀº ´ëÈ­»óÀÚ·Î µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÏ´Â ±âº»ÀûÀÎ ¹æ¹ýÀ̹ǷΠÀß ¾Ë¾ÆµÎ½Ã±â ¹Ù¶ø´Ï´Ù.

21) ³ª¸ÓÁö ÇÏÀ§ ÇÁ·Î½ÃÁ®µµ °°Àº ¹æ¹ýÀ¸·Î ÇöÀ缿¿µ¿ªÀ» ÁöÁ¤ÇÕ´Ï´Ù. ´Ü, ÁÖÀÇÇÒ °ÍÀº ÀÌ¹Ì ÇаúÇà¿¡¼­ ÇÑÇàÀ» Áõ°¡½ÃÄÑ ³õ¾Ò±â ¶§¹®¿¡ ÀÌÈÄ¿¡´Â 1Ä­À» Áõ°¡½Ãų ÇÊ¿ä´Â ¾ø´Ù´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½Àº ¿Ï¼ºµÈ Àüü ÇÁ·Î½ÃÀúÀÔ´Ï´Ù. 

Sub Àüü½ÇÇà()
Àç½ÇÇà:
If DialogSheets("´ëÈ­»óÀÚ").Show Then
ÇаúÀÔ·Â
ÇйøÀÔ·Â
À̸§ÀÔ·Â
ÇàÁ¤»çÁ¡¼öÀÔ·Â
Á¤Ä¡ÇÐÁ¡¼öÀÔ·Â
Çå¹ýÇÐÁ¡¼öÀÔ·Â
ÃÑÁ¡_Æò±Õ_¼öÁØ

GoTo Àç½ÇÇà
Else
End If
End Sub
---------------------------------------------------------------------------
Sub ÇаúÀÔ·Â()
Sheets("¼ºÀû°á°ú").Select
'Range("a3").Select
Set ÇöÀ缿¿µ¿ª = Sheets("¼ºÀû°á°ú").Range("a1").CurrentRegion
ÇаúÇà = ÇöÀ缿¿µ¿ª.Rows.Count + 1
Range(Cells(ÇаúÇà, 1), Cells(ÇаúÇà, 1)).Select
Çаú¸í = DialogSheets("´ëÈ­»óÀÚ").EditBoxes("ÇаúÀԷ¶õ").Text
ActiveCell.FormulaR1C1 = Çаú¸í
End Sub
---------------------------------------------------------------------------
Sub ÇйøÀÔ·Â()
Sheets("¼ºÀû°á°ú").Select
'Range("b3").Select
Set ÇöÀ缿¿µ¿ª = Sheets("¼ºÀû°á°ú").Range("a1").CurrentRegion
ÇйøÇà = ÇöÀ缿¿µ¿ª.Rows.Count + 0
Range(Cells(ÇйøÇà, 2), Cells(ÇйøÇà, 2)).Select
Çйø = DialogSheets("´ëÈ­»óÀÚ").EditBoxes("ÇйøÀԷ¶õ").Text
ActiveCell.FormulaR1C1 = Çйø
End Sub
---------------------------------------------------------------------------
Sub À̸§ÀÔ·Â()
Sheets("¼ºÀû°á°ú").Select
'Range("c3").Select
Set ÇöÀ缿¿µ¿ª = Sheets("¼ºÀû°á°ú").Range("a1").CurrentRegion
À̸§Çà = ÇöÀ缿¿µ¿ª.Rows.Count + 0
Range(Cells(À̸§Çà, 3), Cells(À̸§Çà, 3)).Select
À̸§ = DialogSheets("´ëÈ­»óÀÚ").EditBoxes("À̸§ÀԷ¶õ").Text
ActiveCell.FormulaR1C1 = À̸§
End Sub
---------------------------------------------------------------------------

Sub ÇàÁ¤»çÁ¡¼öÀÔ·Â()
Sheets("¼ºÀû°á°ú").Select
'Range("d3").Select
Set ÇöÀ缿¿µ¿ª = Sheets("¼ºÀû°á°ú").Range("a1").CurrentRegion
ÇàÁ¤»çÇà = ÇöÀ缿¿µ¿ª.Rows.Count + 0
Range(Cells(ÇàÁ¤»çÇà, 4), Cells(ÇàÁ¤»çÇà, 4)).Select
ÇàÁ¤»çÁ¡¼ö = DialogSheets("´ëÈ­»óÀÚ").EditBoxes("ÇàÁ¤»çÁ¡¼ö").Text
ActiveCell.FormulaR1C1 = ÇàÁ¤»çÁ¡¼ö
End Sub
---------------------------------------------------------------------------
Sub Á¤Ä¡ÇÐÁ¡¼öÀÔ·Â()
Sheets("¼ºÀû°á°ú").Select
'Range("e3").Select
Set ÇöÀ缿¿µ¿ª = Sheets("¼ºÀû°á°ú").Range("a1").CurrentRegion
Á¤Ä¡ÇÐÇà = ÇöÀ缿¿µ¿ª.Rows.Count + 0
Range(Cells(Á¤Ä¡ÇÐÇà, 5), Cells(Á¤Ä¡ÇÐÇà, 5)).Select
Á¤Ä¡ÇÐÁ¡¼ö = DialogSheets("´ëÈ­»óÀÚ").EditBoxes("Á¤Ä¡ÇÐÁ¡¼ö").Text
ActiveCell.FormulaR1C1 = Á¤Ä¡ÇÐÁ¡¼ö
End Sub
---------------------------------------------------------------------------
Sub Çå¹ýÇÐÁ¡¼öÀÔ·Â()
Sheets("¼ºÀû°á°ú").Select
'Range("f3").Select
Set ÇöÀ缿¿µ¿ª = Sheets("¼ºÀû°á°ú").Range("a1").CurrentRegion
Çå¹ýÇÐÇà = ÇöÀ缿¿µ¿ª.Rows.Count + 0
Range(Cells(Çå¹ýÇÐÇà, 6), Cells(Çå¹ýÇÐÇà, 6)).Select
Çå¹ýÇÐÁ¡¼ö = DialogSheets("´ëÈ­»óÀÚ").EditBoxes("Çå¹ýÇÐÁ¡¼ö").Text
ActiveCell.FormulaR1C1 = Çå¹ýÇÐÁ¡¼ö
End Sub
----------------------------------------------------------------------------
Sub ÃÑÁ¡_Æò±Õ_¼öÁØ()
ÇàÁ¤»çÁ¡¼ö = Int(DialogSheets("´ëÈ­»óÀÚ").EditBoxes("ÇàÁ¤»çÁ¡¼ö").Text)
Á¤Ä¡ÇÐÁ¡¼ö = Int(DialogSheets("´ëÈ­»óÀÚ").EditBoxes("Á¤Ä¡ÇÐÁ¡¼ö").Text)
Çå¹ýÇÐÁ¡¼ö = Int(DialogSheets("´ëÈ­»óÀÚ").EditBoxes("Çå¹ýÇÐÁ¡¼ö").Text)
ÃÑÁ¡ = ÇàÁ¤»çÁ¡¼ö + Á¤Ä¡ÇÐÁ¡¼ö + Çå¹ýÇÐÁ¡¼ö
DialogSheets("´ëÈ­»óÀÚ").EditBoxes("ÃÑÁ¡").Text = ÃÑÁ¡
Sheets("¼ºÀû°á°ú").Select
'Range("g3").Select
Set ÇöÀ缿¿µ¿ª = Sheets("¼ºÀû°á°ú").Range("a1").CurrentRegion
ÃÑÁ¡Çà = ÇöÀ缿¿µ¿ª.Rows.Count + 0
Range(Cells(ÃÑÁ¡Çà, 7), Cells(ÃÑÁ¡Çà, 7)).Select
ActiveCell.FormulaR1C1 = ÃÑÁ¡
Æò±Õ = CInt(ÃÑÁ¡ / 3)
DialogSheets("´ëÈ­»óÀÚ").EditBoxes("Æò±Õ").Text = ÃÑÁ¡
'Range("h3").Select
Set ÇöÀ缿¿µ¿ª = Sheets("¼ºÀû°á°ú").Range("a1").CurrentRegion
Æò±ÕÇà = ÇöÀ缿¿µ¿ª.Rows.Count + 0
Range(Cells(Æò±ÕÇà, 8), Cells(Æò±ÕÇà, 8)).Select
ActiveCell.FormulaR1C1 = Æò±Õ
If Æò±Õ >= 85 Then
DialogSheets("´ëÈ­»óÀÚ").EditBoxes("¼öÁØ").Text = "A"
ElseIf Æò±Õ >= 60 Then
DialogSheets("´ëÈ­»óÀÚ").EditBoxes("¼öÁØ").Text = "B"
Else
DialogSheets("´ëÈ­»óÀÚ").EditBoxes("¼öÁØ").Text = "C"
End If
'Range("i3").Select
Set ÇöÀ缿¿µ¿ª = Sheets("¼ºÀû°á°ú").Range("a1").CurrentRegion
¼öÁØÇà = ÇöÀ缿¿µ¿ª.Rows.Count + 0
Range(Cells(¼öÁØÇà, 9), Cells(¼öÁØÇà, 9)).Select
°á°ú = DialogSheets("´ëÈ­»óÀÚ").EditBoxes("¼öÁØ").Text
ActiveCell.FormulaR1C1 = °á°ú
End Sub
---------------------------------------------------------------------------

22) ¸¶Áö¸·À¸·Î ¸ÅÅ©·Î ´ÜÃß¿Í Àüü ½ÇÇà ¸ÅÅ©·Î¸¦ ¿¬°á½ÃŰ°Ú½À´Ï´Ù. ¾ç½Ä µµ±¸¸ðÀ½¿¡¼­ [´ÜÃß]¸¦ Ŭ¸¯ÇÑ ÈÄ ½ÃÆ®¿¡ Àû´çÇÑ Å©±â·Î ±×·ÁÁÝ´Ï´Ù. ¸ÅÅ©·Î ÁöÁ¤ ´ëÈ­»óÀÚ°¡ ³ªÅ¸³³´Ï´Ù. "Àüü½ÇÇà" ¸ÅÅ©·Î¸¦ ¼±ÅÃÇϰí [È®ÀÎ]À» Ŭ¸¯ÇÕ´Ï´Ù.


23) ÀÌÁ¦ ¸ðµç ÀÛ¾÷ÀÌ ³¡³µ½À´Ï´Ù. ÀûÀýÇÏ°Ô ¼­½ÄÀ» ÁöÁ¤ÇÑ ÈÄ "´ÜÃß"¸¦ Ŭ¸¯Çؼ­ ¿Ã¹Ù¸£°Ô ÀÛµ¿ÇÏ´ÂÁö È®ÀÎÇØ º¾´Ï´Ù.


ÀÌ·¸°Ô VBA¸¦ ÅëÇØ ÇÁ·Î±×·¡¹ÖÀ» Çϸé, °¢ÀÚÀÇ »óȲ¿¡ ¸Â´Â ¿¢¼¿ ÇÁ·Î±×·¥À» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. VBA¿¡ ´ëÇØ¼­´Â ÀÌ Á¤µµ·Î ÁÙÀ̱â·Î ÇÕ´Ï´Ù. ´õ ÀÚ¼¼ÇÑ ³»¿ëÀ» ¿øÇÏ´Â µ¶ÀÚµéÀº "¿¢¼¿°ü·Ã À¥»çÀÌÆ®"ÀÇ ³»¿ëÀ» Âü°íÇØ¼­ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù.

[¿¹Á¦ ´Ù¿î·Îµå Çϱâ]

ÀÌÀü(VBA·Î ¼ºÀû °ü¸® ÇÁ·Î±×·¥ ¸¸µé±â 1) | ´ÙÀ½(¿¢¼¿°ú ³×Æ®¿öÅ© 1 - ¹®¼­ °øÀ¯·Î ÀÛ¾÷Çϱâ)


ÀúÀÛ±Ç ¾È³» | Contact Me
¨Ï 1996-2008 ±èÇü¹é (Kim, Hyoung Baek), All rights reserved.