ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

¸ê®Æ°Ï°ì¥k¤UÄæ¦ìÀò¨ú

¥»©«³Ì«á¥Ñ GBKEE ©ó 2010-6-11 13:07 ½s¿è

¦^´_ 1# ¤Ú§J´µ

SpecialCells(xlLastCell)¥Ã»·¬O¤u§@ªí¤¤¤w¨Ï¥ÎªºÀx¦s®æ¤§³Ì«á¤@­ÓªºÀx¦s®æ
  1. Sub Ex() 'ActiveCell¥u­n¦ì©ó¤@³sÄò½d³ò¤¤
  2.     Dim Rng As Range
  3.     Set Rng = ActiveCell.CurrentRegion
  4.     Rng(Rng.Rows.Count, Rng.Columns.Count).Select
  5. End Sub
½Æ»s¥N½X

TOP

¦^´_ 4# ¤Ú§J´µ
  1. Sub Ex()
  2.     Dim E As Range, R&, C&
  3.     For Each E In Cells.SpecialCells(xlCellTypeConstants).Areas
  4.         If E(E.Rows.Count, E.Columns.Count).Row > R Then R = E(E.Rows.Count, E.Columns.Count).Row
  5.         If E(E.Rows.Count, E.Columns.Count).Column > C Then C = E(E.Rows.Count, E.Columns.Count).Column
  6.     Next
  7.     Cells(R, C).Select
  8. End Sub
½Æ»s¥N½X

TOP

¦^´_ 10# ¤Ú§J´µ
¸Õ¸Õ¦p Hsieh ªO¥D ©Ò»¡ªº¥Ñ«á©¹«e±À
  1. Sub Ex()
  2. Dim Rng As Range, i&, R&, C&
  3. Set Rng = ActiveSheet.UsedRange
  4. For i = Rng.Columns.Count To 1 Step -1
  5.     If Application.CountA(Rng.Columns(i)) <> 0 Then
  6.         C = Rng.Columns(i).Column
  7.         Exit For
  8.     End If
  9. Next
  10. For i = Rng.Rows.Count To 1 Step -1
  11.     If Application.CountA(Rng.Rows(i)) <> 0 Then
  12.         R = Rng.Rows(i).Row
  13.         Exit For
  14.     End If
  15. Next
  16. If R <> 0 And C <> 0 Then Cells(R, C).Select
  17. End Sub
½Æ»s¥N½X

TOP

¤u§@ªí¨S¦³­×§ï¥ô¤@Àx¦s®æªº®æ¦¡ «e´£¤U¥i¨Ï¥Î
Sub Ex()
    With ActiveSheet.UsedRange
        .Cells(.Rows.Count, .Columns.Count).Select
    End With
End Sub

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2010-6-13 08:03 ½s¿è

¦^´_ 15# ¤Ú§J´µ
Areas ÄÝ©Ê ¶Ç¦^¶°¦X¡A¦¹¶°¦X¥Nªí¦h­«½d³ò¤¤ªº©Ò¦³½d³ò
¦b Set a = Cells.SpecialCells(xlCellTypeConstants).Areas
a=¶°¦X¦h­«½d³ò¤¤ªº©Ò¦³½d³ò
a.Count=­pºâa©Ò¦³½d³ò¤¤¦h­«½d³òªº¼Æ¶q
a(aªº²Ä´X­Ó½d³ò)-->a(a.Count)=a(a¤¤³Ì«á¤@­Ó½d³ò)
a(a¤¤³Ì«á¤@­Ó½d³ò).Count=­pºâa(a¤¤³Ì«á¤@­Ó½d³ò)½d³ò¤¤Cells¼Æ¶q
a(a¤¤³Ì«á¤@­Ó½d³ò)(a(a¤¤³Ì«á¤@­Ó½d³ò).Count)->a(a¤¤³Ì«á¤@­Ó½d³ò)(³Ì«á¤@­ÓCell)
©Ò¥H r = a(a.Count)(a(a.Count).Count).Row ¬O§A­nªº
¥B­Yrow¥i¥Hª½±µ¨D¥X,¨ºcolumn¬O§_¥i¤ñ·Ó§ä¨ì    §ä¤£¨ìªº

a(a.Count) ¤£¤@©w¬O¤u§@ªí³Ì¥kÃ䪺 ½d³ò
a(a.Count) ¤@©w¬O¤u§@ªí³Ì¤U­±ªº½d³ò
¥t´úª©¥Dk = UsedRange.SpecialCells(xlCellTypeLastCell).Column¥Îªk®É

UsedRange ¦p¨S¦³«ü©ú¬O¨º¤@¤u§@ªíªº¤w¥Î½d³ò µ{§Ç¥²¶·¬O¸m©ó§@¥Î¤¤Sheet ªºª«¥ó¼Ò²Õ¤¤  ¨Ò: §@¥Î¤¤ªº¤u§@ªí¬O Sheet1 µ{§Ç½X¶·¸m©ó Sheet1ªºª«¥ó¼Ò²Õ¤¤ ¥i¦æ
§A¥i¯à±N µ{§Ç ¸m©ó¤@¯ë¼Ò²Õ¤¤(Module) ©Î ThisWorkbookª«¥ó¼Ò²Õ¤¤
§A¥²¶·«ü©ú¬O¨º¤@¤u§@ªíActiveSheet.UsedRange ©ÎSheet1.UsedRange

TOP

¦^´_ 15# ¤Ú§J´µ


   
­Yrow¥i¥Hª½±µ¨D¥X,¨ºcolumn¬O§_¥i¤ñ·Ó§ä¨ì
  1. Sub Ex()
  2.     Dim Rng As Object, E, R, C
  3.     Set Rng = ActiveSheet.Cells.SpecialCells(xlCellTypeConstants).Areas
  4.     R = Rng(Rng.Count)(Rng(Rng.Count).Count).Row
  5.     For Each E In Rng
  6.         If E(E.Count).Column > C Then C = E(E.Count).Column
  7.     Next
  8.     MsgBox Cells(R, C).Address
  9. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¤H­n¦Û·R¡A¤~¯à·R´¶¤Ñ¤Uªº¤H¡C
ªð¦^¦Cªí ¤W¤@¥DÃD