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

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

ÃÖÃÊ ÀÛ¼ºÀÏ : 2004-04-10
ÃÖÁ¾ ¼öÁ¤ÀÏ : 2004-12-03
°­Á ÀÐÀ½¼ö : 74,292ȸ

ÀÛ¼ºÀÚ : Exceller (±ÇÇö¿í, exceller@amorepacific.com)

°­Á Á¦¸ñ : ·¹ÀÎÁö ¿ÀºêÁ§Æ® - Range ¼Ó¼º, Cells ¼Ó¼º

VBA ¶ß¹®¶ß¹® °­ÁÂ... ¾Æ´Ï VBA ÀÔ¹®°­Á¸¦ Àç°³ÇÕ´Ï´Ù.
Çϵµ ¿À·¡°£¸¸¿¡ ÇÏ´Ùº¸´Ï, '¾û? ±×·± °­Á°¡ ÀÖ¾ú³ª??' ÇϽô ºÐµéÀÌ ÀûÁö ¾ÊÀ¸¸®¶ó ÁüÀ۵˴ϴÙ. »ç°ú µå¸³´Ï´Ù. ¹Þ¾Æ... ÁֽDz¨ÁÒ? (ÇѼ®±Ô CF ¹öÀüÀ¸·Î...)

ÀÌÁ¦ ÁýÇʵµ ¸¶¹«¸® µÇ¾ú°í ÇÏ´Ï, ¾ÕÀ¸·Î´Â ÀÚÁÖ ¿©·¯ºÐ°ú ¸¸³¯ ¼ö ÀÖÁö ¾ÊÀ»±î ÇÏ´Â »ý°¢À» Á¶½É½º·¹ ÇØ º¾´Ï´Ù.


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


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

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

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


Range ¿ÀºêÁ§Æ®´Â VBA·Î ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¶§ °¡Àå ºó¹øÇÏ°Ô »ç¿ëµÇ´Â °¡Àå Áß¿äÇÑ ¿ÀºêÁ§Æ® ÀÔ´Ï´Ù. ¿¢¼¿¿¡ ÀԷµǴ ´ëºÎºÐÀÇ µ¥ÀÌÅ͵éÀÌ ¹Ù·Î Range ¿ÀºêÁ§Æ®¿¡ º¸°üµË´Ï´Ù. ·¹ÀÎÁö ¿ÀºêÁ§Æ®ÀÇ °³³ä¸¸ Àß ÀÌÇØÇÏ¸é ³ª¸ÓÁö ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ °ÍÀº °ÅÀú¸Ô±â³ª ¸¶Âù°¡Áö ÀÔ´Ï´Ù. Range ¿ÀºêÁ§Æ®´Â ¿öÅ©½ÃÆ® ¿ÀºêÁ§Æ®ÀÇ ÇÏÀ§ ¿ÀºêÁ§Æ®·Î ½ÃÆ® ³»¿¡ ÇÑ °³ ¶Ç´Â º¹¼ö °³ÀÇ ¼¿µé·Î ÀÌ·ç¾îÁý´Ï´Ù.

Range ¿ÀºêÁ§Æ®¿¡ Á¢±ÙÇÏ´Â ¹æ¹ýÀº ¿©·¯ °¡Áö°¡ ÀÖ½À´Ï´Ù. ´ÙÀ½Àº ´ëÇ¥ÀûÀÎ ¸î °¡Áö ¹æ¹ýÀÔ´Ï´Ù.

  Range ¼Ó¼ºÀ» »ç¿ëÇÏ´Â ¹æ¹ý

  Cells ¼Ó¼ºÀ» »ç¿ëÇÏ´Â ¹æ¹ý

  Offset ¼Ó¼ºÀ» »ç¿ëÇÏ´Â ¹æ¹ý

  Union ¸Þ¼­µå¸¦ »ç¿ëÇÏ´Â ¹æ¹ý

¾Õ °­Á¿¡¼­ ¿öÅ©½ÃÆ® ¿ÀºêÁ§Æ®ÀÇ Å©±â¿¡ ´ëÇØ Àá±ñ ¼³¸íµå¸° ÀûÀÌ ÀÖ½À´Ï´Ù. ´ÙÀ½ ÇÁ·Î½ÃÀú¸¦ ½ÇÇà½ÃÄÑ º¸¸é ÇϳªÀÇ ¿öÅ©½ÃÆ®¿¡´Â ¸î °³ÀÇ ¼¿ÀÌ ÀÖ´Â Áö ¾Ë ¼ö ÀÖ½À´Ï´Ù.

Sub HowManyCells()

¡¡

    Dim lngRow As Long
    Dim intColumn As Integer
    Dim lngCell As Long
    Dim strMsg As String
    lngRow = ActiveSheet.Rows.Count

    ' ½ÃÆ® ³»ÀÇ Çà ¼ö¸¦ Ä«¿îÆÃÇÏ¿© lngRow º¯¼ö¿¡ ´ã½À´Ï´Ù.


    intColumn = ActiveSheet.Columns.Count

    ' ½ÃÆ® ³»ÀÇ ¿­ ¼ö¸¦ Ä«¿îÆÃÇÏ¿© intColumn º¯¼ö¿¡ ´ã½À´Ï´Ù.


    lngCell = lngRow * intColumn

    ' Çà ¼ö¿Í ¿­ ¼ö¸¦ °öÇØ¼­ ¼¿ ¼ö¸¦ ±¸ÇÑ ´ÙÀ½, °á°ú°ªÀ» lngCell º¯¼ö¿¡ ÀúÀåÇÕ´Ï´Ù.

    strMsg = strMsg & "½ÃÆ® ³» ÇàÀÇ ¼ö : " & lngRow & vbCr
    strMsg = strMsg & "½ÃÆ® ³» ¿­ÀÇ ¼ö : " & intColumn & vbCr & vbCr
    strMsg = strMsg & "Àüü ¼¿ÀÇ ¼ö : " & lngCell

    MsgBox strMsg
¡¡

End Sub

VBA¿¡¼­ °¡Àå Áß¿äÇÑ ¿ÀºêÁ§Æ® Áß ÇϳªÀÎ ·¹ÀÎÁö ¿ÀºêÁ§Æ®¿¡ ÀÚÀ¯ÀÚÀç·Î Á¢±ÙÇϱâ À§ÇÑ Ã¹¹øÂ° °úÁ¦´Â, ¿ì¼± ¼¿À» ¼±ÅÃÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·¯±â À§Çؼ­´Â Range ¼Ó¼º°ú Cells ¼Ó¼ºÀÇ Æ¯¼ºÀ» Àß ÀÌÇØÇϰí ÀÖ¾î¾ß ÇÕ´Ï´Ù. µÎ ¼Ó¼º¿¡´Â °¢°¢ ¾î¶² Àå´ÜÁ¡ÀÌ ÀÖ´Â Áö, ¾î¶² °æ¿ì¿¡ »ç¿ëÇϸé ÁÁÀºÁö Àß Á¤¸®ÇØ µÎ½Ã±â ¹Ù¶ø´Ï´Ù.


Range ¼Ó¼º

´ÙÀ½ Äڵ带 ½ÇÇàÇϸé 'Sheet1' ½ÃÆ®ÀÇ A1 ¼¿¿¡ '100' À̶ó´Â °ªÀÌ ÀԷµ˴ϴÙ.

Worksheets("Sheet1").Range("A1").Value = 100

À̰ÍÀº Worksheets("Sheet1")À̶ó´Â ¿öÅ©½ÃÆ® ¿ÀºêÁ§Æ®ÀÇ, Range("A1")À̶ó´Â ·¹ÀÎÁö ¿ÀºêÁ§Æ®ÀÇ, Value ¼Ó¼º°ªÀ» '100'À̶ó°í ÁöÁ¤ÇØ ÁØ °ÍÀÔ´Ï´Ù. Range ¿ÀºêÁ§Æ®ÀÇ µðÆúÆ®default ¼Ó¼º°ªÀº ValueÀÔ´Ï´Ù. ÀÚµ¿Â÷¸¦ »ì ¶§¿¡µµ ±âº»À¸·Î µþ·Á³ª¿À´Â °ÍÀÌ ÀÖ°í ¿É¼ÇÀ¸·Î ¼±ÅÃÇÏ´Â °ÍÀÌ ÀÖÁö¿ä? µðÆúÆ® ¼Ó¼ºÀº ¼Ó¼º¸íÀ» µû·Î ºÙÀÌÁö ¾Ê¾Æµµ ºÙÀÎ °ÍÀ¸·Î ÇØ¼®ÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÚµ¿Â÷¿¡¼­ º°µµ·Î ÁÖ¹®ÇÏÁö ¾Ê¾Æµµ ÇÔ²² Á¦°øµÇ´Â °Í°ú ¸¶Âù°¡Áö·Î ¸»ÀÔ´Ï´Ù.

À̹ø¿¡´Â ¿©·¯ ¼¿¿¡ µ¿ÀÏÇÑ °ªÀ» ³Ö¾îº¼±î¿ä. ÀÔ·ÂÇϰíÀÚ ÇÏ´Â À§Ä¡¿¡ ´Ù¸¥ °ªÀÌ µé¾îÀÖÀ¸¸é ¸Þ½ÃÁö¸¦ Ç¥½ÃÇÏ°í ½ÇÇàÇÕ´Ï´Ù.

Sub WriteData_2()


    Worksheets("Sheet1").Range("A1").Select
    If Selection <> "" Then

    ' ¼±ÅÃµÈ ¼¿ÀÌ °ø¶õÀÌ ¾Æ´Ï¸é If ±¸¹® ³»ºÎÀÇ ¸í·ÉÀ» ½ÇÇàÇÕ´Ï´Ù.


        MsgBox "ÀÔ·ÂµÈ °ªÀÌ ÀÖÀ¸³ª Áö¿ì°Ú½À´Ï´Ù"
        Selection.ClearContents

        ' ¼±ÅÃµÈ ¿µ¿ªÀÇ µ¥ÀÌÅ͸¦ Áö¿ó´Ï´Ù.

  

¸Þ¼­µå ¼³ ¸í

Clear

³»¿ë°ú ¼­½ÄÀ» ¸ðµÎ Áö¿ó´Ï´Ù.

ClearContents

³»¿ë¸¸ Áö¿ó´Ï´Ù.

ClearFormats

¼­½Ä¸¸ Áö¿ó´Ï´Ù.


    End If

    Worksheets("Sheet1").Range("A1:A10").Value = "¿¢¼¿ VBA"
    MsgBox "A1:A10 ¿µ¿ª¿¡ °ªÀ» ÀÔ·ÂÇÏ¿´½À´Ï´Ù"


End Sub

À̹ø¿¡´Â ºÒ¿¬¼ÓÀûÀÎ ¿©·¯ °³ÀÇ ¼¿¿¡ °ªÀ» ³Ö´Â ¹æ¹ý¿¡ ´ëÇØ »ìÆìº¾´Ï´Ù.

Sub WriteData_3()


    Worksheets("Sheet1").Range("A1").Select
    Range("A1").CurrentRegion.Select
    MsgBox Selection.Address & " ¿µ¿ªÀ» ¼±ÅÃÇÏ¿´½À´Ï´Ù. °ªÀ» Áö¿ì°Ú½À´Ï´Ù"

    Selection.ClearContents
    With Range("A1,A3,A5,A7,A9,B2,B4,B6,B8,B10")
        .Select
        .Value = "¿¢¼¿ VBA"
    End With
    MsgBox """A1,A3,A5,A7,A9,B2,B4,B6,B8,B10"" ¼¿¿¡ °ªÀ» ÀÔ·ÂÇÏ¿´½À´Ï´Ù"

End Sub

CurrentRegionÀº ÇöÀç ¿µ¿ª, Áï ÀÎÁ¢ÇØ ÀÖ´Â »ó/ÇÏ/ÁÂ/¿ìÀÇ ¿µ¿ªÀ» ¹ÝÈ¯ÇØ ÁÖ´Â ¼Ó¼ºÀÔ´Ï´Ù. ¸Õ ¼Ò¸®³Ä Çϸé, ´ÙÀ½ ±×¸²¿¡¼­ ÇöÀç A1 ¼¿ÀÌ ¼±ÅÃµÈ »óÅ¿¡¼­ Range("A1").CurrentRegion.Select¶ó°í Çϸé A1 ¼¿°ú ÀÎÁ¢ÇØ ÀÖ´Â ÁÖº¯ ¼¿ÀÌ ¸ðµÎ ¼±Åõ˴ϴÙ.

¡¡

¡¡


Cells ¼Ó¼º

Cells ¼Ó¼ºÀ» »ç¿ëÇØµµ ¼¿À» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ Äڵ带 ½ÇÇàÇϸé ÇöÀç ½ÃÆ®ÀÇ B5 ¼¿¿¡ ¼ýÀÚ '100'À» ÀÔ·ÂÇÕ´Ï´Ù.

Cells(5,2) = 100

Cells ¼Ó¼ºÀÇ °æ¿ì, Cells(Çà, ¿­)ÀÇ Çü½ÄÀ¸·Î Ç¥±âÇÕ´Ï´Ù. À̰ÍÀº Range ¼Ó¼ºÀÇ Ç¥Çö ¹æ¹ý°ú´Â ¹Ý´ë ¼ø¼­À̹ǷΠÁÖÀÇÇϽñ⠹ٶø´Ï´Ù.

Cells ¼Ó¼ºÀ¸·Î ¼¿ ¹üÀ§¸¦ Âü°íÇϰíÀÚ ÇÒ °æ¿ì¿¡´Â Range ¼Ó¼º°ú Á¶ÇÕÀ» ÇØ¼­ »ç¿ëÇÕ´Ï´Ù.

Range(Cells(3, 2), Cells(10, 5)).Select

Cells ¼Ó¼º(Range ¼Ó¼ºÀÇ °æ¿ì¿¡µµ ¸¶Âù°¡ÁöÀÔ´Ï´Ù) ¾Õ¿¡ ¾Æ¹« °Íµµ ºÙÀÌÁö ¾ÊÀ¸¸é ÇöÀç ¿öÅ©½ÃÆ®¸¦ ´ë»óÀ¸·Î ÇÕ´Ï´Ù. ¿öÅ©½ÃÆ® À̸§À» ¾Õ¿¡ ¸í±âÇÏ¸é ´ç¿¬È÷ ÁöÁ¤ÇÑ ¿öÅ©½ÃÆ®¿¡ Á¢±ÙÇÑ ´ÙÀ½ ÀÛ¾÷À» ÇÕ´Ï´Ù. ´ÙÀ½Àº 'MySheet' ½ÃÆ®ÀÇ A2 ¼¿¿¡ ÁöÁ¤ÇÑ °ªÀ» ÀÔ·ÂÇÕ´Ï´Ù.

Worksheets("MySheet").Cells(2, 1).Value = "VBA Programming"

¿©±â¼­ ÇÑ °¡Áö ÁÖÀÇÇÒ Á¡ÀÌ ÀÖ½À´Ï´Ù. ¸¸¾à Cells(3, 2)¶ó°í ÇÏ¸é ¾î´À ¼¿À» ÁöÁ¤ÇÑ´Ù°í »ý°¢ÇϽʴϱî? ¾Æ¸¶µµ Áö±Ý±îÁö °øºÎ¸¦ Á¦´ë·Î ÇØ ¿Â ºÐÀ̶ó¸é,

"±×°Íµµ Áú¹®À̶ó°í... Çà ¹æÇâÀ¸·Î 3, ¿­ ¹æÇâÀ¸·Î 2¸¸Å­ À̵¿ÇÑ °÷ÀÇ ¼¿À̴ϱî... ´ç¿¬È÷ B3 ¼¿ÀÌÁö!"

ÀÌ·¸°Ô ´ë´äÇÏ½Ç °ÍÀÔ´Ï´Ù. Á¤´äÀº, '±×·² ¼öµµ ÀÖ°í ¾Æ´Ò ¼öµµ ÀÖ´Ù!' ÀÔ´Ï´Ù. ¸Õ ¼Ò¸°Áö ¾Ë µí ¸» µí ÇϽÃÁö¿ä? ¾î¶² ¹üÀ§ ³»¿¡¼­ ¸í·ÉÀ» »ç¿ëÇÏ´À³Ä¿¡ µû¶ó ´Þ¶óÁø´Ù´Â ÀǹÌÀÔ´Ï´Ù. Áï Cells ¼Ó¼º ¾Õ¿¡ ¾Æ¹« °Íµµ ¾øÀÌ ±×³É Cells(3, 2)¶ó°í ÇÑ´Ù¸é 3Çà°ú 2¿­ÀÌ ¸¸³ª´Â B3 ¼¿À» ÀǹÌÇÕ´Ï´Ù. ÇÏÁö¸¸ ¾Õ¿¡ ´Ü¼­°¡ ºÙ¾î ÀÖÀ¸¸é »çÁ¤Àº ´Þ¶óÁý´Ï´Ù. ´ÙÀ½°ú °°Àº ¹®ÀåÀÌ ÀÖ´Ù°í ÇÒ °æ¿ì, ¾î´À ¼¿¿¡ 100À̶ó´Â °ªÀ» ³Ö¾îÁÖ°Ô µÉ±î¿ä?

Range("B2:E9").Cells(3, 2) = 100

Range("B2:E9").Cells(3, 2)¶ó´Â °ÍÀº B2:E9 ¿µ¿ª ³»¿¡¼­ Çà ¹æÇâÀ¸·Î 3¹øÂ°, ¿­ ¹æÇâÀ¸·Î 2¹øÂ°¿¡ ÀÖ´Â ¼¿À» ÀǹÌÇÕ´Ï´Ù. µû¶ó¼­ C4 ¼¿¿¡ ¼ýÀÚ 100À» ÀÔ·ÂÇÏ°Ô µË´Ï´Ù.

Range ¼Ó¼º°ú Cells ¼Ó¼ºÀº °¢°¢ ¾î¶² °æ¿ì »ç¿ëÇϸé ÁÁÀº°¡?

Áö±Ý±îÁö Range ¼Ó¼º°ú Cells ¼Ó¼º¿¡ ´ëÇØ »ìÆìº¸¾Ò½À´Ï´Ù. ±×·±µ¥ Cells ¼Ó¼ºÀÇ °æ¿ì, Á¤ÀÇµÈ À̸§À» »ç¿ëÇÒ ¼ö ¾ø°í, ¼¿ ¹üÀ§¸¦ ¼³Á¤ÇÒ ¶§¿¡µµ ´Üµ¶À¸·Î´Â »ç¿ëÇÒ ¼ö ¾ø°í Range ¼Ó¼º°ú Á¶ÇÕÀ» ÇØ¾ß ÇÕ´Ï´Ù.

À߸øµÈ »ç¿ë ¿¹ (X)

¹Ù¸¥ »ç¿ë ¿¹ (O)

Cells("Áö¿ªº°_¸ÅÃâ").Select

Range("Áö¿ªº°_¸ÅÃâ").Select

Cells(Cells(2, 1), Cells(5, 7)).Select

Range(Cells(2, 1), Cells(5, 7)).Select

±×·¸´Ù¸é ºÒÆíÇϰԸ¸ º¸ÀÌ´Â Cells ÇÁ·ÎÆÛƼ´Â ¹¹ÇÏ·¯ ¸¸µé¾î ³õ¾ÒÀ»±î¿ä?
Cells ÇÁ·ÎÆÛƼÀÇ °¡Àå Å« ÀåÁ¡Àº Àμö¿¡ ¼ýÀÚ°ªÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½°ú °°Àº ±¸±¸´Ü Å×À̺íÀ» ¸¸µç´Ù°í »ý°¢ÇØ º¸¼¼¿ä.

¸¸¾à Range ¼Ó¼º¸¸À¸·Î ÀÌ·¯ÇÑ °ÍÀ» ¸¸µé¾î¾ß ÇÑ´Ù¸é... ¸Ó¸®°¡ ½ÉÇÏ°Ô ¾ÆÆÄ ¿É´Ï´Ù(¹°·Ð ºÒ°¡´ÉÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù). ÀÌ·± °æ¿ì, For ~ Next ¹Ýº¹¹®°ú Cells ¼Ó¼ºÀ» Á¶ÇÕÇÏ¸é ¾ÆÁÖ °£´ÜÈ÷ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾î¶»°Ô ÇÏ¸é µÉ Áö 3ºÐ°£ ·ÎÁ÷À» »ý°¢ÇØ º¸½Å ´ÙÀ½ Äڵ带 º¸½Ã±â ¹Ù¶ø´Ï´Ù.

Sub ±¸±¸´Ü_Å×À̺í()

    Dim i As Integer
    Dim j As Integer

    For i = 2 To 9
        For j = 1 To 9
            Cells(j + 1, i - 1) = i & " X " & j & " = " & i * j
        Next j
    Next i

    Columns("A:H").AutoFit

End Sub
¡¡

»ý°¢º¸´Ù °£´ÜÇÏÁö ¾Ê½À´Ï±î? (ÀáÀá~~)

Èï¹ÌÁøÁøÇÑ ExcellerÀÇ VBA ±âÃÊ °­Á´ ´ÙÀ½¿¡ °è¼ÓµË´Ï´Ù. ^^;V
´ÙÀ½ ½Ã°£¿¡´Â ·¹ÀÎÁö ¿ÀºêÁ§Æ®¸¦ »ý¼ºÇÏ´Â ¶Ç ´Ù¸¥ ¸î °¡Áö ¹æ¹ý¿¡ ´ëÇØ ¼Ò°³ µå¸®°Ú½À´Ï´Ù.
¡¡

Previous

Next

Creative Commons License