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

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

ÃÖÃÊ ÀÛ¼ºÀÏ : 2002-12-20
ÃÖÁ¾ ¼öÁ¤ÀÏ : 2004-12-03
°­Á ÀÐÀ½¼ö : 77,478ȸ
ÀÛ¼ºÀÚ : Exceller(±ÇÇö¿í, exceller@amorepacific.com)

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

°­Á Á¦¸ñÀ» ¹Ù²Ù¾î ´Þ¾Æ¾ß ÇÒ±î º¾´Ï´Ù. VBA ÀÔ¹®°­Á¿¡¼­ VBA ¶ß¹®¶ß¹® °­Á·Π¸»ÀÔ´Ï´Ù. ^^; ÀÌÁ¦ ´ëÅë·É ¼±°Åµµ ³¡ÀÌ ³µ½À´Ï´Ù. ¼ö¸¹Àº Íëå³ÀÌ Íöå³ÀÌ µÇÁö ¾Êµµ·Ï µÎ ´« ºÎ¸¨¶ß°í ÁöÄѺ¼ ÀÏÀÔ´Ï´Ù. @.@


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


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

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

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


Áö³­ ½Ã°£¿¡ ¼Ò°³ÇØ µå¸° ¹Ù¿Í °°ÀÌ ¿¢¼¿ÀÇ ¿ÀºêÁ§Æ® Áß °¡Àå µÎ¸ñ ¿ÀºêÁ§Æ®°¡ ¾ÖÇø®ÄÉÀÌ¼Ç ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù. ´Þ¸® ¸»ÇÏÀÚ¸é, ¿¢¼¿ ±× ÀÚü°¡ ¹Ù·Î Application À̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¾ÖÇø®ÄÉÀÌ¼Ç ¿ÀºêÁ§Æ®°¡ °Å´À¸®°í ÀÖ´Â ºÎÇϰ¡ ¿©·µ Àִµ¥ ±× Áß¿¡ ¿öÅ©ºÏ ¿ÀºêÁ§Æ®Workbook Object¶ó´Â ¹ÏÀ½Á÷ÇÑ ³à¼®ÀÌ ÀÖ½À´Ï´Ù.


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

¿öÅ©ºÏ ¿ÀºêÁ§Æ®¶õ ¿¢¼¿ ÅëÇÕ ¹®¼­, Áï ¿¢¼¿ ÆÄÀÏÀ» ÀǹÌÇÕ´Ï´Ù. ¿©·¯ºÐ PC¿¡ º¸°üµÈ ¸ðµç ¿¢¼¿ ÆÄÀÏÀº ¸ðµÎ Workbook ¿ÀºêÁ§Æ®ÀÔ´Ï´Ù. ¾Æ·¡ ±×¸²À» Àß µé¿©´Ù º¸¼¼¿ä.

Application(Áï ¿¢¼¿ ±× ÀÚü) ¹Ø¿¡ Workbooks ¶ó´Â °ÍÀÌ ÀÖÀ¸¸ç ±× ¾Æ·¡¿¡ Workbook ¿ÀºêÁ§Æ®°¡ ÀÖÁö¿ä? ¿ÀºêÁ§Æ®¸í µÚ¿¡ s°¡ ºÙ¾îÀÖ´Â °ÍÀ» Ä÷º¼Ç ¿ÀºêÁ§Æ®Collection Object, ÁýÇÕü¶ó°í ÇÕ´Ï´Ù. ½¬¿î ¿¹·Î ÀÚµ¿Â÷ ŸÀ̾ »ý°¢ÇØ º¸¸é, ÀÚµ¿Â÷¿¡´Â 4°³ÀÇ Å¸À̾ ÀÖ½À´Ï´Ù. ÀÌ ¶§ °¢°¢ÀÇ Å¸À̾î´Â ¸ðµÎ ÇϳªÀÇ ¿ÀºêÁ§Æ®°¡ µÇ°Ú°í, 4°³ÀÇ Å¸À̾ ÇÕÃļ­ ŸÀ̾îµé À̶ó´Â Ä÷º¼ÇÀ¸·Î Ãë±ÞÇÑ´Ù´Â ¾ê±âÀÔ´Ï´Ù. Áï ŸÀ̾î´Â ¿ÀºêÁ§Æ®ÀÎ µ¿½Ã¿¡ Ä÷º¼ÇÀ̱⵵ ÇÏ´Ù´Â °ÍÀÌÁö¿ä.

Ä÷º¼ÇÀ̶ó´Â °ÍÀº... a group of objects of the same class Áï °°Àº ¼º°ÝÀ» °¡Áø Ŭ·¡½ºÀÇ ÁýÇÕüÀÔ´Ï´Ù(Â¥ÁõÀÌ ³¯¶ó±¸ ±×·¯Áö¿ä? Ŭ·¡½º´Â ¶Ç ¹¹¾ß? ÇбÞÀ̶õ °ÍÀΰ¡?). Ŭ·¡½º¶õ °ÍÀº ³ªÁß¿¡ °¡¸é ´Ù½Ã »ó¼¼È÷ ¼³¸íµå¸± ±âȸ°¡ ÀÖÀ» °ÍÀ¸·Î »ý°¢µË´Ï´Ù¸¸, ¿©·¯ºÐÀÌ Excel.exe ÆÄÀÏÀ» Ŭ¸¯ÇÏ´Â ¼ø°£ Book1.xls ¶ó´Â ¿öÅ©ºÏ ¿ÀºêÁ§Æ®°¡ »ý¼ºµË´Ï´Ù. À̰ÍÀº ¹Ù·Î Excel.exe°¡ °¡Áö°í ÀÖ´Â Workbook Class¿¡ ÀÇÇØ »õ·Î¿î ¿öÅ©ºÏ ¿ÀºêÁ§Æ®°¡ »ý¼ºµÇ´Â °ÍÀÔ´Ï´Ù. Class´Â ½±°Ô... ºØ¾î»§ Àå¼ö°¡ ºØ¾î»§À» ±¸¿ö³¾ ¶§ ¾²´Â »§ Ʋ°ú ºñ½ÁÇÑ °ÍÀÔ´Ï´Ù. ºØ¾î»§ Àå¼ö°¡ ºØ¾î»§À» ¾î¶»°Ô ¸¸µé¾î ³À´Ï±î? ¼è·Î µÈ »§ Ʋ¿¡´Ù°¡ ¹Ð°¡·ç ¹ÝÁ×°ú ÆÏ °í¹°À» ³Ö°í ¶Ñ²±À» µ¤Àº ´ÙÀ½ ±¸¿ö³»±â¸¸ ÇÏ¸é °°Àº ¸ð¾çÀÇ ºØ¾î»§À» ¾ó¸¶µçÁö ¸¸µé¾î ³¾ ¼ö°¡ ÀÖÁö¿ä? ÀÌ ¶§ Ŭ·¡½º´Â »§ ƲÀÌ°í ¿ÀºêÁ§Æ®´Â ºØ¾î»§ À̶ó°í ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.

À̸¦ Á» À¯½Ä(?)ÇÑ ¸»·Î Ç¥ÇöÇϸé, ¿ÀºêÁ§Æ®´Â Ŭ·¡½º¿¡ ÀÇÇØ ¸¸µé¾îÁø »ý¼º¹°À̰í, Ŭ·¡½º´Â ¿ÀºêÁ§Æ®¸¦ ¸¸µé¾î ³»´Â ÅÛÇø´TemplateÀ̶ó°í ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Áö³­ ½Ã°£¿¡ º¸¿©µå¸° EXCEL³× Áý¾È Á·º¸(°èº¸µµ)¸¦ ¸Ó¸® ¼Ó¿¡ ¶°¿Ã·Á º¸¼¼¿ä. Workbooks, Worksheets, Windows, Charts µî°ú °°ÀÌ ¿ÀºêÁ§Æ®¸í µÚ¿¡ s°¡ ºÙ´Â °ÍµéÀÌ ÀÖ¾úÁö¿ä? À̰ÍÀº °°Àº ¼º°ÝÀ» °¡Áø ¿ÀºêÁ§Æ®°¡ ¿©·µ Á¸ÀçÇÒ °æ¿ì À̰ÍÀ» ÇϳªÀÇ ±×·ìÀ¸·Î º¸¾Æ ÇϳªÀÇ ÁýÇÕüCollection·Î °£ÁÖÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.

¾î´À ȸ»çÀÇ Ãѹ«ºÎ¿¡ ´ã´çÀÚ°¡ ¿©·µ Àִµ¥ ±× Áß¿¡¼­ ÇÑ »ç¶÷À» ÁöĪÇÒ ¶§, Ãѹ«ºÎ(Á¦ÀÏ °íÂü), Ãѹ«ºÎ(±è´ã´ç), Ãѹ«ºÎ(ÀÌ´ã´ç) ÀÌ·± ½ÄÀ¸·Î Ç¥ÇöÀ» ÇÒ ¼ö°¡ ÀÖ°ÚÁö¿ä? Ä÷º¼Ç Áß¿¡¼­ ƯÁ¤ ¿ÀºêÁ§Æ®¸¦ ÁöĪÇÒ ¶§¿¡µµ Worksheets("Sheet1") ¶Ç´Â Worksheets(1) °ú °°Àº ½ÄÀ¸·Î Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.

'ÛÝÚ¤ÀÌ ÝÕåýìé̸ÀÌ¿ä ÛÝ̸ÀÌ ÝÕåýìéöè(ȤÀÚ´Â ¹éŸ°¡ ºÒ¿©ìéíÂÀ̶ó°íµµ ÇÏ´õ±º¿ä)'À̹ǷÎ... ¾Æ·¡ÀÇ Äڵ带 ¸ðµâ½ÃÆ®¿¡ »ðÀÔÇÑ ´ÙÀ½, ½ÇÇà-¸ÅÅ©·Î ½ÇÇà ¸Þ´º¸¦ ¼±ÅÃÇØ º¸¼¼¿ä.

Sub MakeWorkbook()

    Workbooks.Add

End Sub

¾î¶² ÀÏÀÌ »ý°å³ª¿ä? »õ·Î¿î ÅëÇÕ ¹®¼­°¡ Çϳª ¸¸µé¾î Áú °ÍÀÔ´Ï´Ù. À̹ø¿¡´Â »õ·Î ¸¸µé¾îÁø ÅëÇÕ ¹®¼­¸¦ Temp.xls¶ó´Â À̸§À¸·Î ÀúÀå±îÁö µÇµµ·Ï ÇØ º¼±î¿ä?

Sub MakeWorkbook()

    Workbooks.Add

    ActiveWorkbook.SaveAs Filename:=Application.DefaultFilePath & "\Temp.xls"

End Sub

¿©±â¼­ DefaultFilePath¶ó´Â °ÍÀº ÆÄÀÏÀ» ÆÄÀÏÀ» ¿­ ¶§ »ç¿ëµÇ´Â ±âº» °æ·Î¸¦ ÀǹÌÇÕ´Ï´Ù. µµ±¸-¿É¼Ç ¸Þ´ºÀÇ ÀÏ¹Ý ÅÇÀ» ¼±ÅÃÇØ º¸¸é ±âº» ÆÄÀÏ À§Ä¡¶ó´Â Ç׸ñ¿¡¼­ ÁöÁ¤ÇØ ÁØ °æ·Î¸¦ ÀǹÌÇÕ´Ï´Ù.

ÀÌÁ¦ Á¶±Ý ´õ ÀÀ¿ëÀ» ÇØ º¸µµ·Ï ÇսôÙ. Áï ±×³É ÅëÇÕ ¹®¼­¸¸ Çϳª ´ú·· ¸¸µå´Â °ÍÀÌ ¾Æ´Ï¶ó ¸î °³¸¦ ¸¸µé °ÍÀÎÁö »ç¿ëÀÚ°¡ ÀÔ·ÂÀ» ÇÒ ¼ö ÀÖµµ·Ï Çϰí, ¶Ç ¸¸µé¾îÁø ÅëÇÕ ¹®¼­µéÀ» ¹ÙµÏÆÇ½ÄÀ¸·Î ¹è¿­µÇµµ·Ï ÇØ º¾´Ï´Ù.

Sub MakeWorkbook()

    Dim wrkWorkbook As Workbook
    Dim intWorkbook As Integer
    Dim intCount As Integer
    Dim Msg As String
    On Error GoTo ET

    intWorkbook = InputBox("¸î °³ÀÇ ¿öÅ©ºÏÀ» ¸¸µé±î¿ä?", "www.iExceller.com")
    If intWorkbook < 1 Then intWorkbook = 1
    If intWorkbook > 10 Then intWorkbook = 10


    For intCount = 1 To intWorkbook
        Workbooks.Add
    Next intCount


    Windows.Arrange xlTiled
    Msg = Msg & intWorkbook & "°³ÀÇ ¿öÅ©ºÏÀÌ ¼ø½Ä°£¿¡ ¸¸µé¾îÁ³Áö¿ä?"
    MsgBox Msg, , "www.iExceller.com"
¡¡

ET:
    If Err.Number <> 0 Then
        MsgBox Err.Description, , "¿À·ù ¹øÈ£ : " & Err.Number
        Err.Clear
    End If

End Sub

À§ÀÇ Äڵ带 º¸½Å Ãʺ¸´Ôµé Áß¿¡, '¹¹°¡ ÀÌ·± º¹ÀâÇÑ °ÍÀÌ ´Ù ÀÖ³ª?' Çϰí Áö·¹ °Ì¸ÔÁö ¾ÊÀ¸¼Åµµ µË´Ï´Ù. ÄÚµå´Â ³ªÁß¿¡ ÀÚ¿¬½º·¹ ÀÌÇØÇÏ½Ã°Ô µÉ °ÍÀ̹ǷÎ... (Á¤¸»ÀÔ´Ï´Ù), ¿©±â¼­´Â Äڵ带 ¸ðµâ½ÃÆ®¿¡ ºÙ¿© ³Ö°í ½ÇÇàÇØ º¸´Â °Í, ±×¸®°í ½ÇÁ¦·Î ÀÛµ¿µÇ´Â °ÍÀ» Á÷Á¢ ´«À¸·Î È®ÀÎÇØ º¸´Â °úÁ¤ ÀÚü°¡ Áß¿äÇÑ °ÍÀ̴ϱî¿ä.

À§ÀÇ Äڵ带 ½ÇÇàÇϰí InputBox¿¡ 5¶ó´Â °ªÀ» ³Ö¾ú´Ù¸é ¾Æ·¡¿Í °°Àº °á°ú°¡ ³ªÅ¸³¯ °ÍÀÔ´Ï´Ù.

'¾î¶ó? ºÐ¸íÈ÷ 5¸¦ ÀÔ·ÂÇßÀ¸¸é ´Ù¼¸°³ÀÇ ¿öÅ©ºÏÀÌ ¸¸µé¾îÁ®¾ßÁö ¿Ö ¿©¼¸°³¾ß?' ÇÏ´Â ºÐÀÌ °è½Ç±î¿ä? ÀÌ ½ÃÁ¡¿¡¼­ ÃʵîÇб³ ¶§ ¹è¿î '¼Òdz°¡´Â ¾Æ±â µÅÁö À̾߱â'°¡ ºÒÇöµí »ý°¢³ª´Â±º¿ä. µÅÁöµéÀÌ ¼ÒdzÀ» °¡¼­ Àοø Á¡°ËÀ» Çߴµ¥ ÀÚ±â´Â »©°í Ä«¿îÆÃÀ» ÇØ¼­ ¹ã»õ µ¹¾Æ¿ÀÁö ¸øÇߴ볪 ¾î·´ë³ª... ^^

À̹ø ½Ã°£ °­Á¿¡¼­ Áß¿äÇÑ °ÍÀº, ¿ì¸®°¡ ¿¢¼¿À» ½ÇÇàÇÑ ´ÙÀ½, ÆÄÀÏÀ» Ãß°¡Çϰí À̸§À» º¯°æÇϰí ÇÏ´Â µîÀÇ ÀÛ¾÷À» Çϱâ À§Çؼ­´Â Workbook Object ¿¡ Á¢±ÙÀ» ÇÏÁö ¾Ê°í¼­´Â ºÒ°¡´ÉÇÏ´Ù´Â °ÍÀÔ´Ï´Ù. ¿ì¸®°¡ µ·À» ºô¸± ¶§¿¡µµ µ·À» °¡Áø »ç¶÷ÀÌ ´©±ºÁö¸¦ ¾Ë¾Æ¾ß °¡¼­ »çÁ¤À» Çϵç Çù¹Ú(?)À» Çϵç ÇØµµ ÇϰÚÁö¿ä?

´ÙÀ½ ½Ã°£¿¡´Â Worksheet Object¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù.

¡¡

Previous

Next

Creative Commons License