Exceller Home > VBA °­ÁÂ > VBA ÀÔ¹®°­ÁÂ

Exceller's VBA ÀÔ¹®°­ÁÂ

ÃÖÃÊ ÀÛ¼ºÀÏ : 2003-04-25
ÃÖÁ¾ ¼öÁ¤ÀÏ : 2004-12-03
ÀÛ¼ºÀÚ : Exceller(±ÇÇö¿í, exceller@amorepacific.com)

°­Á ÀÐÀ½ ¼ö : 58,065

°­Á Á¦¸ñ : ¿öÅ©½ÃÆ® ¿ÀºêÁ§Æ®

°ÅÀÇ 4°³¿ù ¸¸¿¡ VBA ÀÔ¹®°­Á¸¦ Àç°³ÇÕ´Ï´Ù. ±×µ¿¾È ¸¹Àº º¯È­°¡ ÀÖ¾ú½À´Ï´Ù. ÀÌÁ¦³ª ÀúÁ¦³ª º» °­Á¸¸À» ±â´Ù·Á¿Â ºÐµé(ÀÌ °ú¿¬ °è½ÇÁö´Â ¾Ë±â ¾î·Æ½À´Ï´Ù¸¸... ^^)²² Á˼ÛÇÏ´Ü ¸»¾¸À» µå¸³´Ï´Ù. ¾ÕÀ¸·Îµµ ±×·¸Áö ¾ÊÀ¸¸®¶õ º¸ÀåÀ» ÀÚ½ÅÀÖ°Ô µå¸± ¼ö ¾øÀ½¿¡ ¹Ì¸® Á˼ÛÇØ Çϸ鼭... T.T


VBA ÀÔ¹®°­Á : Áß¿äÇÑ ¿ÀºêÁ§Æ® ¸î °¡Áö


°¡. ¿öÅ©ºÏ ¿ÀºêÁ§Æ®(Workbook Object)

³ª. ¿öÅ©½ÃÆ® ¿ÀºêÁ§Æ®(Worksheet Object)

´Ù. ·¹ÀÎÁö ¿ÀºêÁ§Æ®(Range Object)


¿öÅ©ºÏ ¿ÀºêÁ§Æ®ÀÇ ÇÏÀ§¿¡ ÀÖ´Â ¿ÀºêÁ§Æ® Áß Çϳª·Î¼­ ¿öÅ©½ÃÆ®¸¦ ¸¸µé¾î ÁÖ´Â ¿ÀºêÁ§Æ®°¡ ¿öÅ©½ÃÆ® ¿ÀºêÁ§Æ®Worksheet Object ÀÔ´Ï´Ù. ¿öÅ©ºÏ ¿ÀºêÁ§Æ®¿Í ¸¶Âù°¡Áö·Î ¿öÅ©½ÃÆ® ¿ÀºêÁ§Æ®µµ Worksheets ¶ó´Â Ä÷º¼Ç°ú Worksheet ¿ÀºêÁ§Æ®°¡ ÀÖ½À´Ï´Ù. Ä÷º¼Ç ¿ÀºêÁ§Æ®¿¡ ´ëÇØ¼­´Â Áö³­ ½Ã°£ °­Á¸¦ Âü°íÇϼ¼¿ä.

  Ä÷º¼Ç¿¡ ´ëÇØ »ìÆìº¸±â

¿öÅ©½ÃÆ® ¿ÀºêÁ§Æ®(Worksheet Object)

¿öÅ©½ÃÆ® ¿ÀºêÁ§Æ®¶õ ½±°Ô ¸»ÇÏ¸é ¿öÅ©½ÃÆ® ±× ÀÚü¸¦ ÀǹÌÇÕ´Ï´Ù. ¿ì¸®°¡ µ·À» ºô¸®·Á¸é ¿ì¼± µ·À» °¡Áø »ç¶÷ÀÌ ´©±¸ÀÎÁö¸¦ ¸ÕÀú ¾Ë°í ÀÖ¾î¾ß °¡¼­ »çÁ¤À» Çϵç, Çù¹Ú(?)À» Çϵç ÇØµµ ÇϰÚÁö¿ä? ¿öÅ©½ÃÆ®ÀÇ À̸§À» ¹Ù²Û´Ù°Å³ª ¼¿¿¡ ¾î¶² °ªÀ» ÀÔ·ÂÇϰíÀÚ ÇÒ ¶§¿¡µµ ¸¶Âù°¡Áö ÀÔ´Ï´Ù.

Sub FindActiveSheetName()

    MsgBox "Áö±Ý º¸½Ã´Â ½ÃÆ®´Â " & ActiveSheet.Name & "ÀÔ´Ï´Ù"

End Sub

ÀÌ Äڵ带 ½ÇÇà½Ã۸é ÇöÀç ½ÃÆ®ActiveSheetÀÇ À̸§À» ¾Ë·ÁÁÝ´Ï´Ù.

MsgBox¶ó´Â °ÍÀº ÁöÁ¤ÇÑ ¸í·ÉÀ» ¼öÇàÇÏ°í ³­ °á°ú¸¦ È­¸é»ó¿¡ ³ªÅ¸³»¶ó´Â ÇÔ¼öÀ̰í, ±× ´ÙÀ½¿¡ Activesheet.NameÀ̶ó´Â °ÍÀº Áö±Ý ¼±ÅõǾî ÀÖ´Â ½ÃÆ®(ActiveSheet)ÀÇ À̸§(Name)À» ¾Ë¾Æ³»¶ó´Â ¸í·ÉÀÔ´Ï´Ù. Active¶ó´Â ´Ü¾î´Â ActiveCell, ActiveWindow, ActivePane, ActiveWorkbook, ActiveChart µî°ú °°ÀÌ ÀÚÁÖ »ç¿ëµÇ´Â °ÍÀ̹ǷΠÀß ±â¾ïÇØ µÎ½Ã±â ¹Ù¶ø´Ï´Ù. ´Ù¸¥ »ç¶÷¿¡°Ô ÀÏÀ» ½Ãų ¶§, "ö¼ö¾ß, ¹° Á» ¶°¿Í!"¶ó°í ÇÒ ¼öµµ ÀÖÁö¸¸, "°Å±â ¿òÁ÷ÀÌ´Â ³à¼® , ¹° Á» ¶°¿Í!"¶ó°í ÇÒ ¼öµµ ÀÖ°ÚÁö¿ä? ÀÌ ¶§ ÈÄÀÚ¿¡ ÇØ´çµÇ´Â Ç¥ÇöÀ̶ó°í ÀÌÇØÇÏ½Ã¸é µÇ°Ú½À´Ï´Ù.

¿öÅ©½ÃÆ® »ðÀÔÇϱâ

Sub AddWorkSheet()

    Worksheets.Add

End Sub

¿öÅ©½ÃÆ®¸¦ »ðÀÔÇÏ·Á¸é Add ¸Þ¼­µå¸¦ »ç¿ëÇÏ¿© À§¿Í °°ÀÌ ÇÏ¸é µË´Ï´Ù. '»ðÀÔ-¿öÅ©½ÃÆ®' ¸Þ´º¸¦ ¼±ÅÃÇϰųª À§ÀÇ ÇÁ·Î½ÃÀú¸¦ ½ÇÇàÇϸé ÇöÀç ½ÃÆ®ÀÇ ¿ÞÂÊ¿¡ »õ·Î¿î ¿öÅ©½ÃÆ®°¡ ÇÑ Àå »ðÀԵ˴ϴÙ.

¿öÅ©½ÃÆ® »ðÀÔÇϱâ2 : »ðÀÔ À§Ä¡¿Í ¸Å¼ö ÇÔ²² ÁöÁ¤Çϱâ

Sub AddWorkSheet2()

    Worksheets.Add after:=Worksheets(1), Count:=2

End Sub

Add ¸Þ¼­µå µÚ¿¡ after, Count Àμö¸¦ Ãß°¡ÇÏ¸é ½ÃÆ®¸¦ »ðÀÔÇÒ À§Ä¡¿Í »ðÀÔ ¸Å¼ö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

½ÃÆ® ¼±ÅÃÇϱâ

Sub GoToSheet2()

    Worksheets("Sheet2").Activate

End Sub

ÀÌ ¶§ Activate ´ë½Å Select ¸Þ¼­µå¸¦ »ç¿ëÇØµµ °á°ú´Â µ¿ÀÏÇÕ´Ï´Ù. ¹°·Ð Sheet2¶ó´Â ½ÃÆ®°¡ ´ç¿¬È÷ ÀÖ¾î¾ß ¿À·ù°¡ ¹ß»ýÇÏÁö ¾Ê°ÚÁö¿ä?

½ÃÆ® ¼±ÅÃÇϰí À̸§ ¹Ù²Ù±â

Sub RenSheetName()

    Worksheets("Sheet2").Activate

    ActiveSheet.Name = "MySheet"

End Sub

µü ÇÑ ÁÙÀÌ Ãß°¡ µÇ¾ú³×¿ä.
ActiveSheet.Name = "MySheet"
ÇöÀç½ÃÆ®.À̸§ = "MySheet", Áï ÇöÀç Ȱ¼ºÈ­µÈ ½ÃÆ® À̸§À» MySheet·Î ¹Ù²Ù¾î¶ó

º¸Åë ¼öÇп¡¼­ A=B¶ó°í ÇÏ°Ô µÇ¸é 'A¿Í B´Â °°´Ù'¶ó´Â °ÍÀ¸·Î Àνĵdzª ÇÁ·Î±×·¡¹Ö¿¡ À־´Â ¿ìÃøÀÇ °ªÀ» ÁÂÃøÀ¸·Î ´ëÀÔÇ϶ó'´Â ÀǹÌÀÔ´Ï´Ù. ´Ù¸¸ If Á¶°Ç¹®¿¡¼­´Â If A=B ¶ó°í Çϸé A¿Í B°¡ °°ÀºÁö ´Ù¸¥Áö¸¦ ºñ±³ÇÕ´Ï´Ù.

½ÃÆ® À̵¿ / º¹»çÇϱâ

Sub SheetMove()
    Worksheets("Sheet1").Move after:=Worksheets("Sheet3")
End Sub

¸¸¾à after Àμö¸¦ »ý·«ÇÏ¿©, Worksheets("Sheet1").Move ¶ó°í¸¸ ÇÏ¸é ¾î¶² ÀÏÀÌ »ý±æ±î¿ä? Á÷Á¢ Çѹø ÇØ º¸¼¼¿ä. ^^ ½ÃÆ®¸¦ À̵¿ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó º¹»ç¸¦ ÇÏ·Á¸é... ÁüÀÛÇϽðڽÀ´Ï´Ù¸¸, Move ´ë½Å Copy ¸Þ¼­µå¸¦ »ç¿ëÇÏ½Ã¸é µÇ°Ú½À´Ï´Ù.

½ÃÆ® »èÁ¦Çϱâ

Sub DeleteSheet()

    Application.DisplayAlerts = False
    ActiveSheet.Delete
    Application.DisplayAlerts = True

End Sub

½ÃÆ®¸¦ »èÁ¦ÇÒ ¶§¿¡´Â Delete ¼Ó¼ºÀ» »ç¿ëÇÕ´Ï´Ù. ±×·±µ¥ ½ÃÆ®¸¦ »èÁ¦ÇÒ ¶§¿¡´Â ±×¸²°ú °°Àº »èÁ¦ È®ÀÎ ¸Þ½ÃÁö°¡ ³ªÅ¸³ª¹Ç·Î ´Ù½Ã Çѹø '»èÁ¦' ¹öưÀ» ´­·¯ÁÖ¾î¾ß ÇÏ´Â ¹®Á¦Á¡ÀÌ ÀÖ½À´Ï´Ù.

À̰ÍÀ» ÇØ°áÇϱâ À§ÇØ DisplayAlerts ¼Ó¼ºÀ» »ç¿ëÇÏ¿© À§ÀÇ ÇÁ·Î½ÃÀú¿Í °°ÀÌ ÇØÁÝ´Ï´Ù.

¡¡

  ¿öÅ©½ÃÆ®´Â ¾ó¸¶³ª Ŭ±î?(µðÁöÅкϽº, "¿¢¼¿ XP - ¿¹Á¦ Ȱ¿ë" 50 Page¿¡¼­ ÆíÁý Àοë)

»ê¼úÀûÀ¸·Î °è»êÇØ º¸¸é ÇϳªÀÇ ¿öÅ©½ÃÆ®´Â 16,777,216°³ÀÇ ¼¿·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ VBA Ç¥ÁØ ¸ðµå¿¡¼­ Çà ³ôÀÌ¿Í ¿­ ³Êºñ¸¦ º¯°æÇÏÁö ¾Ê¾Ò´Ù¸é 18°³ÀÇ Çà°ú 9°³ÀÇ ¿­, µû¶ó¼­ 162°³ÀÇ ¼¿À» ÇÑ È­¸é¿¡¼­ º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. À̰ÍÀº Àüü ¿öÅ©½ÃÆ®ÀÇ 0.001 ÆÛ¼¾Æ®¹Û¿¡ ¾ÈµÇ´Â °ÍÀÔ´Ï´Ù. ´Ù½Ã ¸»Çؼ­ ÇöÀç È­¸é¿¡ ³ªÅ¸³­ ¿µ¿ªÀÇ 104,000 ¹è³ª µÇ´Â Á¤º¸°¡ ÇϳªÀÇ ¿öÅ©½ÃÆ® ¾È¿¡ µé¾î°¥ ¼ö ÀÖ´Ù´Â ÀǹÌÀÔ´Ï´Ù.

¸¸¾à ¿©·¯ºÐÀÌ ¿öÅ©½ÃÆ®ÀÌ ¸ðµç ¼¿¿¡ 1ÃÊ¿¡ ÇÑ ±ÛÀÚ¾¿ Àáµµ ¾ÈÀÚ°í, ¹äµµ ¾È¸Ô°í, ½¬Áöµµ ¾Ê°í ÀÔ·ÂÇÑ´Ù°í °¡Á¤Çϸé 194ÀÏ Á¤µµ°¡ ¼Ò¿äµÉ °ÍÀÔ´Ï´Ù. ±×¸®°í ÀÌ·¸°Ô ÀÔ·ÂÇÑ °ÍÀ» ÇÁ¸°ÅÍ·Î Ãâ·ÂÇϸé A4 »çÀÌÁî ¿ëÁö·Î 36,000Àå ÀÌ»óÀÇ Ãâ·Â¹°ÀÌ ³ª¿À´Âµ¥, À̰ÍÀ» ½×¾Æ³õÀ¸¸é ´ë·« 2m Á¤µµ°¡ µÉ °ÍÀÔ´Ï´Ù. ¼¿ÀÇ µðÆúÆ® Å©±â ±âÁØÀ¸·Î Ãâ·ÂÇØ º¸¸é ÇϳªÀÇ ¼¿Àº °¡·Î 20.4mm, ¼¼·Î 4.8mm Á¤µµ µË´Ï´Ù. µû¶ó¼­ ÇϳªÀÇ ¿öÅ©½ÃÆ®´Â °¡·Î 522m, ¼¼·Î 314.5m Á¤µµÀÇ Å©±â°¡ µË´Ï´Ù. À̰ÍÀ» 100% ¹èÀ²·Î A4 ¿ëÁö¿¡ Ãâ·ÂÇØ¼­ Çѵ¥ ¸ð¾Æº¸¸é ¾Æ¹« Ã౸Àå Å©±â ¸¸ÇÒ °ÍÀÔ´Ï´Ù...(Áß·«)...

°­Á¸¦ µéÀ¸½Ã´Â, ¾Æ´Ï º¸½Ã´Â ºÐ Áß¿¡´Â '¹¹ ÀÌ·± ½¬¿î °ÍÀ» ÀÏÀÏÀÌ ¼³¸íÇϳª? ±×¸®°í ÀÌ·± Å丷 Å丷³­ °ÍÀ» ¹è¿ö ¹¹¿¡ ½á ¸Ô³ª?' ÇÏ´Â ºÐÀÌ ÀϰöºÐ °è½Ã´Â±º¿ä. ^^ ½¬¿î °ÍÀ» ¾Ë¾Æ¾ß ¾î·Á¿î °ÍÀ» ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾î¼³ÇÁ°Ô 10°³¸¦ ¾Æ´Â °Íº¸´Ù Çϳª¸¦ ¾Ë´õ¶óµµ È®½ÇÇÏ°Ô ¾Ë°í ÀÖ¾î¾ß ÀÀ¿ë·ÂÀÌ »ý±é´Ï´Ù.

À̹ø¿¡´Â ÇöÀç ¿öÅ©ºÏ¿¡ ¾î¶² ½ÃÆ®µéÀÌ ÀÖ´ÂÁö ¾Ë¾Æ³»¶ó°í ÄÄÇ»ÅÍ¿¡°Ô ÀÏÀ» ½ÃÄÑ º¼±î¿ä?

Sub WhatsInThisbook()

    Dim strName() As String
    Dim strTemp As String
    Dim i As Integer
    Dim intCount As Integer
    intCount = Sheets.Count
    ReDim strName(1 To intCount) As String

    For i = 1 To intCount
        strName(i) = Sheets(i).Name
        strTemp = strTemp & strName(i) & vbLf
    Next i
    MsgBox strTemp

End Sub


¼öÇàÇÏ´Â ±â´ÉÀÌ º¹ÀâÇÏ´Ï ÄÚµå ¶ÇÇÑ ¾îÁö·´Áö¿ä?(»ç½Ç ¾Ë°íº¸¸é ¾Æ¹« °Íµµ ¾Æ´ÏÁö¸¸ ¸»ÀÔ´Ï´Ù) À§ ÇÁ·Î½ÃÀú¸¦ ¼öÇàÇÏ¸é ¿öÅ©ºÏ ³»ÀÇ ¸ðµç ½ÃÆ®ÀÇ À̸§ÀÌ ¸Þ½ÃÁö ¹Ú½º¿¡ Ç¥½ÃµË´Ï´Ù.
¡¡

À§ÀÇ Äڵ忡¼­´Â ¹è¿­ArrayÀ̶ó´Â °ÍÀ» »ç¿ëÇÏ¿´½À´Ï´Ù. ¹è¿­À̶õ ½±°Ô ¼³¸íÇÏÀÚ¸é '°°Àº ¼º°ÝÀ» °¡Áø º¯¼öÀÇ ÁýÇÕ'À̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹è¿­¿¡ ´ëÇØ¼­´Â ³ªÁß¿¡ º¯¼ö¿¡ ´ëÇØ »ìÆìº¼ ¶§ ÀÚ¼¼È÷ ´Ù·ê ¿¹Á¤À̹ǷΠ'¾Æ, ÀÌ·± °Íµµ ÀÖ±¸³ª' Á¤µµ¸¸ ÀÌÇØÇÏ°í ³Ñ¾î°¡µµ ÀüÇô ÁöÀåÀÌ ¾ø°Ú½À´Ï´Ù.

À̹ø ½Ã°£¿¡´Â ¿©±â±îÁö...
¡¡


Previous

Next

Creative Commons License