VBA ÀÔ¹®°Á : Áß¿äÇÑ ¿ÀºêÁ§Æ® ¸î °¡Áö
°¡. ¿öÅ©ºÏ ¿ÀºêÁ§Æ®(Workbook Object)
³ª. ¿öÅ©½ÃÆ® ¿ÀºêÁ§Æ®(Worksheet Object)
´Ù. ·¹ÀÎÁö ¿ÀºêÁ§Æ®(Range Object)
·¹ÀÎÁö ¿ÀºêÁ§Æ® ±× ¼¼¹øÂ°
½Ã°£À¸·Î Union ¸Þ¼µå¿Í Intersect ¸Þ¼µå¿¡ ´ëÇØ »ìÆìº¸°Ú½À´Ï´Ù.
À̹ø °Áµµ ExcellerÀÇ Ã¥
<VBA·Î ¿¢¼¿¿¡ ³¯°³´Þ±â>¿¡¼ ¹ßÃéÇÏ¿© ½Æ½À´Ï´Ù.
Union
¸Þ¼µå
¼öÇп¡¼ ÁýÇÕÀ» ¹è¿ï ¶§ ÁýÇÕ¿¡´Â ÇÕÁýÇÕ, ±³ÁýÇÕ, ºÎºÐÁýÇÕ, Â÷ÁýÇÕ, ¿©ÁýÇÕ, °øÁýÇÕ, À¯ÇÑÁýÇÕ,
¹«ÇÑÁýÇÕ µî ¿©·¯ Á¾·ù°¡ ÀÖ´Ù°í µéÀ¸¼ÌÀ» °ÍÀÔ´Ï´Ù(ÂüÀ¸·Î ¸¹±âµµ ÇÏÁö¿ä? ^^). ÀÌ Áß¿¡¼ Union ¸Þ¼µå´Â ¼·Î ¶³¾îÁ® ÀÖ´Â
¿©·¯ ¿µ¿ª(Range ¿ÀºêÁ§Æ®)ÀÇ ÇÕÁýÇÕÀ» ±¸ÇϰíÀÚ ÇÒ ¶§ »ç¿ëÇÕ´Ï´Ù. ´ÙÀ½°ú °°Àº µ¥ÀÌÅͰ¡ ÀÖ´Ù°í ÇÒ °æ¿ì, ÇÕÁýÇÕ¿¡ ÇØ´çÇÏ´Â ¿µ¿ªÀº
¹«¾ùÀϱî¿ä?

±×¸²¿¡¼ ¼±ÅÃÇÑ ¿µ¿ª, Áï A1:E16 ±×¸®°í G11:J16 ¿µ¿ªÀÌ µÇ°ÚÁö¿ä.

À̰ÍÀ» ¾î¶»°Ô ±¸ÇÏ´À³Ä Çϸé... ¹Ù·Î Union ¸Þ¼µå¸¦ ÀÌ¿ëÇÏ¸é µÈ´Ù´Â °ÍÀÔ´Ï´Ù.
|
Sub Union_Method()
Dim shtSheet As Worksheet
Dim rngFirst As Range
Dim rngSecond As Range
Dim rngUnion As Range
Set shtSheet = Sheets("Sheet6")
Set rngFirst = shtSheet.Range("A1").CurrentRegion
Set rngSecond = shtSheet.Range("G11").CurrentRegion
Set rngUnion = Application.Union(rngFirst,
rngSecond)
rngUnion.Select
MsgBox "µÎ ¿µ¿ªÀÇ ÇÕÁýÇÕ : " & Selection.Address(rowabsolute:=False,
_
columnabsolute:=False)
End Sub |
¾Æ! »ó´çÈ÷ º¹ÀâÇØ º¸ÀÔ´Ï´Ù. ÇÏÁö¸¸ ¿¢¼¿À̳ª VBA °Á ½Ã°£¿¡ ¿©·¯ Â÷·Ê ¸»¾¸µå¸° °Íó·³ º¹ÀâÇÑ
°Í°ú º¹ÀâÇØ º¸ÀÌ´Â °Í°ú´Â Â÷À̰¡ ÀÖ½À´Ï´Ù. À§ÀÇ ÄÚµå´Â Áö±Ý²¯ ¿ì¸®°¡ VBA ±âÃʰÁ ½Ã°£¿¡ º¸¾Æ¿Ô´ø °Í¿¡ ºñÇØ ±æÀ̰¡ Á¶±Ý ±æ¾î
º¹ÀâÇØ º¸ÀÌ´Â °ÍÀÏ »Ó ½ÇÁ¦·Î º¹ÀâÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. ½ÇÁ¦·Î º¹ÀâÇÑ °ÍÀÇ Áø¼ö(?)¸¦ º¸¿© µå¸±±î¿ä?
"±×°¡ »ý°¢ÇÏ´Â °ÍÀ» ³ªµµ »ý°¢ÇÑ´Ù°í ±×°¡ »ý°¢Çϸ®¶ó´Â °ÍÀ» ³ª´Â
»ý°¢ÇÑ´Ù."John F. Nash Jr.
ÁöÁ¤ÇÑ ¿µ¿ª(A1 ¼¿°ú G11 ¼¿)ÀÇ CurrentRegion °ªÀ» rngFirst¿Í
rngSecond º¯¼ö¿¡ ´ã¾Æ µÐ ´ÙÀ½, À̰ÍÀ» Union ¸Þ¼µå¸¦ ÀÌ¿ëÇÏ¿© ÇÕÄ¡´Â °ÍÀÔ´Ï´Ù.
Ȳ¸ð±º : ±×·¸´Ù¸é... Áú¹®ÀÌ Çϳª Àִµ¥¿ä... À̵ý°Å´Â ¹è¿ö¼ ¾îµð´Ù ½á ¸Ô³ª¿ä?
ÁÁÀº Áú¹®ÀÔ´Ï´Ù. À̰ÍÀ» Á¶±Ý ÀÀ¿ëÇØ º¸µµ·Ï ÇÏÁö¿ä. A1:A100 ¿µ¿ª Áß¿¡¼ ¦¼ö Çà µ¥ÀÌÅ͸¸À»
¼±ÅÃÇÑ ´ÙÀ½ ³ì»öÀ¸·Î Ä¥ÇÏ´Â ¿¹Á¦¸¦ ¸¸µé¾î º¸µµ·Ï ÇÏÁö¿ä.

´ë»ó ¿µ¿ªÀÌ A1:A100 ¿µ¿ª Á¤µµ¹Û¿¡ µÇÁö ¾ÊÀ¸´Ï ´ÙÇàÀÌÁö A1:A1000 ȤÀº
A1:A10000 ¿µ¿ªÂë µÈ´Ù°í »ý°¢ÇØ º¸¼¼¿ä. Ctrl ۸¦ ´©¸¥ ä ¸¶¿ì½º¸¦ ´·¯´ë·Á¸é... ¼Õ°¡¶ô¿¡ Áã°¡ ³³´Ï´Ù. ÇÏÁö¸¸ ¿ì¸®´Â
´ÙÀ½°ú °°Àº °£´ÜÇÑ ÄÚµå ¸î ÁÙ·Î ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù(ÀÌ·¡µµ VBA ¾È ¹è¿î´Ù°í ¹öÆÃ±â´Â ºÐÀÌ °è½Ç·¡³ª...).
|
Sub Union_Method_2()
Dim i As Integer
Dim rngUnion As Range
Set rngUnion = Cells(2, 1)
For i = 2 To 100 Step 2
Set rngUnion = Union(rngUnion,
Cells(i, 1))
Next i
rngUnion.Select
Selection.Interior.ColorIndex = 10
MsgBox "¦¼ö Çà ¼¿¿¡¸¸ ³ì»öÀ» Ä¥ÇÏ¿´½À´Ï´Ù", , "www.iExceller.com"
End Sub |
Ȳ¸ð±º : ¿¡ÀÌ~~ ±×°Íµµ
±×´ÙÁö ½Ç¿ëÀûÀÌÁö ¸øÇÑ °Í °°Àºµ¥¿ä...
Exceller : (Á¤»öÀ» ÇÏ°í °¡±îÀÌ ´Ù°¡¼¸ç) °ú¿¬
±×·²±î¿ä?
Ȳ¸ð±º : (¶æ¹ÛÀÇ °ÇÑ
¹ÝÀÀ¿¡ ¼ø°£ ¿òÂñÇÏ´Ù ´Ù½Ã µûÁöµí) ±×°Ô ¾Æ´Ï¶ó... ½Ç¹«¿¡¼ ±×·¸°Ô µö´Ù »öÄ¥¸¸ ÇÏ´Â °æ¿ì°¡ ¾îµð ÀÖ¾î¿ä!
Ȳ¸ð±ºÃ³·³ ¾ÕÀÇ ¿¹Á¦µµ ÀüÇô
½Ç¿ë¼ºÀÌ ¾ø´Ù°í »ý°¢ÇÏ´Â ºÐµéÀ» À§ÇØ ÇÑ °¡Áö ¿¹¸¦ ´õ º¸¿©µå¸®µµ·Ï ÇÏÁö¿ä. ´ÙÀ½°ú °°Àº ¼ºÀûÇ¥°¡ ÀÖ´Ù°í ÇÒ ¶§ µî±ÞÀÌ
'ÇÕ°Ý'ÀÎ »ç¶÷¸¸ ³ì»öÀ¸·Î Ç¥½ÃÇÏ´Â ¿¹Á¦ÀÔ´Ï´Ù.

|
Sub Union_Method_3()
Dim rngCell As Range
Dim rngAverage As Range
Dim rngSource As Range
Dim rngUnion As Range
Set rngAverage = Range("Æò±Õ")
Set rngSource = Range("Source")
With rngSource
.Interior.ColorIndex = xlNone
.Font.ColorIndex = 1
End With
MsgBox "±âÁ¸ ¼½ÄÀ» Áö¿ü½À´Ï´Ù. ÀÌÁ¦ ÇÕ°ÝÀڵ鿡 ´ëÇØ Ç¥½Ã¸¦ ÇÕ´Ï´Ù."
For Each rngCell In rngAverage
With rngCell
If .Offset(0,
1) = "ÇÕ°Ý" Then
If rngUnion Is Nothing Then
Set rngUnion = Range(.Offset(0, -4), .Offset(0, 1))
Else
Set rngUnion = Union(rngUnion, Range(.Offset(0, -4), .Offset(0, 1)))
End If
End If
End With
Next rngCell
rngUnion.Select
With Selection
.Interior.ColorIndex = 10
.Font.ColorIndex = 2
End With
End Sub |
¡¡
Intersect
¸Þ¼µå
Intersect ¸Þ¼µå¿Í´Â ¹Ý´ë·Î Intersect ¸Þ¼µå¸¦ »ç¿ëÇÏ¸é µÎ °³ ÀÌ»óÀÇ ¿µ¿ª Áß¿¡¼
¼·Î °ãÃÄÁöÁö ¾Ê´Â ¿µ¿ªÀÇ ÁÖ¼Ò¸¦ ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù. ¼öÇÐÀ¸·Î Ä¡¸é ±³ÁýÇÕ¿¡ ÇØ´çÇÏ´Â ¿µ¿ªÀ» ±¸ÇØÁÖ´Â °ÍÀÔ´Ï´Ù.


|
Sub Intersect_Method()
Dim rngFirst As Range
Dim rngSecond As Range
Dim rngIntersect As Range
Dim i As Integer
Set rngFirst = ActiveSheet.Range("A1:D8")
Set rngSecond = ActiveSheet.Range("C5:G12")
rngFirst.Select
MsgBox "ù¹øÂ° ¿µ¿ªÀÔ´Ï´Ù", , "www.iExceller.com"
rngSecond.Select
MsgBox "µÎ¹øÂ° ¿µ¿ªÀÔ´Ï´Ù. ÀÌÁ¦ ±³Â÷¿µ¿ªÀ» Ç¥½ÃÇÕ´Ï´Ù.", , "www.iExceller.com"
Set rngIntersect = Application.Intersect(rngFirst,
rngSecond)
rngIntersect.Select
For i = 1 To 1000
rngIntersect.Interior.ColorIndex =
Rnd * 56
Next i
End Sub
¡¡ |
¾î´À °÷¿¡ ¾î¶»°Ô Ȱ¿ëÇÒ °ÍÀΰ¡
ÇÏ´Â °ÍÀº °á±¹Àº ÀÀ¿ë·ÂÀÇ ¹®Á¦À̸ç, ÀÀ¿ë·ÂÀº Æò¼Ò¿¡ (ÀÚ½ÅÀÇ ¹®Á¦¸¦) ¾ó¸¶³ª ¹®Á¦ÀǽÄÀ» °®°í ±íÀÌ ÀÖ°Ô °í¹ÎÇØ º¸¾Ò´À³Ä¿¡
µû¶ó °áÁ¤µË´Ï´Ù. ±×·¡¼ VBA ÇÁ·Î±×·¡¹ÖÀÇ °æ¿ì, ½ÅÀÔ»ç¿øÀ̳ª ¾÷¹«¿¡ Àͼ÷ÇÏÁö ¾ÊÀº ºÐµéº¸´Ù ÇØ´ç ¾÷¹«¿¡ ³ë·ÃÇÑ ºÐµéÀÌ
´ëü·Î »¡¸® ½ÀµæÇϽôõ±º¿ä. ¾î¶»°Ô ÀÀ¿ëÇÒ °ÍÀÎÁö¿¡ ´ëÇØ ¸¹ÀÌ °í¹ÎÇØ º¸¼¼¿ä.
|