AutoCAD ActiveX ¸Àº¸±â °ÁÂ(14) |
range¸¦ ÀÎÀÚ·Î ¹Þ´Â ÇÔ¼ö¸¸µé±â
¾îÁ¦ ¸¸µç ÇÔ¼ö´Â 2Â÷¹æÁ¤½ÄÀÇ Çظ¦ µ¹·ÁÁÖ´Â ÇÔ¼ö¿´½À´Ï´Ù. ±×·³ ÀÌ°ÍÀ» ¾î¶»°Ô »ç¿ëÇÏ¸é µÉ±î¿ä? VBA¿¡¼´Â module¿¡¼ ¸¸µç ÇÔ¼ö´Â
ÀÏ¹Ý ¿¢¼¿ÇÔ¼ö¿Í °°ÀÌ ¼¿¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ¾Æ·¡¿Í °°ÀÌ a,b,c°ªÀ» ¼¿¿¡´Ù ÀÔ·ÂÇÑ ÈÄ¿¡ ´Ù¸¥¼¿¿¡ =sol(B1,B2,B3)À̶ó¸é
µË´Ï´Ù.
À̹ø¿¡´Â range¸¦ ÀÎÀÚ·Î ¹Þ´Â ÇÔ¼ö¸¦ ¸¸µé¾îº¸°Ú½À´Ï´Ù. »ç½Ç ±»ÀÌ ·¹ÀÎÁö·Î ¹Þ´Â °ÍÀÌ ¾Æ´Ï¶ó À§ÀÇ ÇÔ¼ö¸¦ ±×´ë·Î ÀÌ¿ëÇصµ µË´Ï´Ù.
Function sol(rng)
a = rng.cells(1)
b = rng.cells(2)
c = rng.cells(b)
sol = (-b - (b ^ 2 - 4 * a * c) ^ 0.5) / (2 * a)
End Function
À§¿Í °°ÀÌ ÇÔ¼ö¸¦ °íÃĺ¼±î¿ä? ±×¸®°í ¿¢¼¿¿¡¼ È£ÃâÀ» =sol(b1:b3)¿Í °°ÀÌ ¹üÀ§¸¦ Àâ¾Æ¼ È£ÃâÀ» ÇÕ´Ï´Ù.
¾î¶»°¡¿ä °á°ú´Â °°Áö¿ä? rng¶õ ÀÎÀÚ¸¦ ÅëÇؼ range°³Ã¼·Î ³Ñ¾î¿À°í solÇÔ¼ö³»¿¡¼ cells()¼Ó¼ºÀ» ÀÌ¿ëÇؼ
ù¹ø°°ÍÀ» a·Î µÎ¹ø°°ÍÀ» b·Î ¼¼¹øÀç°ÍÀ» c·Î ´ëÀÔÇؼ solÀ» Ç®¾î³Â½À´Ï´Ù.
ÇÏÁö¸¸ ÀÌ·¸°Ô ÇÏÁö ¾Ê°í ¾Æ·¡¿Í °°ÀÌ ÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.
Function sol(rng)
a = rng(1)
b = rng(2)
c = rng(3)
sol = (-b - (b ^ 2 - 4 * a * c) ^ 0.5) / (2 * a)
End Function
rng´Â °á±¹ ¹è¿·Î µé¾î¿Â´Ù´Â °ÍÀ» ¾Ë¼ö ÀÖ½À´Ï´Ù.
À̹ø¿¡´Â Áö³¹ø¿¡ ¸¸µç ¿©·¯¼¿À» ´õÇÏ´Â ÇÁ·Î±×·¥À» Á» ¼öÁ¤Çؼ ÇÔ¼ö·Î ¸¸µé¾îº¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ±â¾ï³ª½ÃÁÒ? ¼±ÅÃµÈ ¼¿µé¿¡ ´ëÇؼ for¹®À» ÀÌ¿ëÇؼ
´õÇÑ ´ÙÀ½¿¡ °á°ú¸¦ msg¹®À¸·Î º¸¿©ÁÖ¾ú´ø ÇÁ·Î±×·¥. ±×°ÍÀ» ¿¢¼¿ÇÔ¼ö·Î ¸¸µé¾î¼ ¼¿¿¡¼ Á÷Á¢ ÀÔ·ÂÇÒ ¼ö ÀÖµµ·Ï Çؼ ´õÇØÁø ¼¿µéÀÇ °á°ú¸¦ µ¹·ÁÁÖµµ·Ï
¸¸µé¸é µÉ°ÍÀÔ´Ï´Ù.
Function sumcells(arange As Range)
icount = arange.Count
For i = 1 To icount
Sum = Sum + arange.Cells(i)
Next i
sumcells = Sum
End Function
À§¿Í °°ÀÌ ÄÚµùÀ» ÇÑ´ÙÀ½¿¡ ¿¢¼¿ÀÇ ¼¿¿¡¼ sumcells(b1:b3)ÇÏ¸é ¸ðµÎ ´õÇÑ °á°ú¸¦ µ¹·ÁÁÙ°ÍÀÔ´Ï´Ù. À§ÀÇ ÄÚµå´Â ÀÌÇØ°¡ °¡½ÃÁÒ? Áö³¹ø sub·Î ¸¸µé¾ú´ø
°Í°ú ´Ù¸¥°ÍÀº sub°¡ functionÀ¸·Î ¹Ù²î¾ú°í sumcells¿¡ ÀÎÀÚ·Î ³Ñ¾î¿Àµµ·Ï ()¾È¿¡ arange as range¸¦ Ãß°¡ ÇÏ°í, ¸¶Áö¸·¿¡ sumcells=sumÀ¸·Î
°á°ú°ªÀ» ÇÔ¼ö¸í¿¡ ´ëÀÔ½ÃŲ °Í »ÓÀÔ´Ï´Ù. ÀÎÀÚÀÇ ÇüÀ» range·Î Á¤ÀÇÇصµ µÇÁö¸¸ ¾Æ·¡¿Í °°ÀÌ Á¤ÀÇ ÇÏÁö ¾Ê°í »ç¿ëÇصµ µË´Ï´Ù. ÀÌ·¸°Ô ÇüÀ» ÁöÁ¤ÇÏÁö
¾Ê´Â °æ¿ì¿¡´Â ÀÚµ¿À¸·Î VariantÇüÀ¸·Î ¼±¾ðµË´Ï´Ù. VariantÇüÀº ÁÖ¾îÁø °ª¿¡ µû¶ó¼ ÇüÀÌ Á¤ÇØÁý´Ï´Ù.
Function sumcells(arange)
icount = arange.Count
For i = 1 To icount
Sum = Sum + arange.Cells(i)
Next i
sumcells = Sum
End Function
[ÀÌÀü °ÁÂ]
[´ÙÀ½ °ÁÂ]
|