標題:
[發問]
快速找出範圍內最大列數
[打印本頁]
作者:
ciboybj
時間:
2014-8-13 15:13
標題:
快速找出範圍內最大列數
各位好
我利用下列的代碼
Dim N11, N2, N3, N4, N5, MaxRow As Integer
N11 = Cells(Rows.Count, 2).End(xlUp).Row 'B欄的最後一資料格的列數
N2 = Cells(Rows.Count, 3).End(xlUp).Row 'C欄的最後一資料格的列數
N3 = Cells(Rows.Count, 4).End(xlUp).Row
N4 =Cells(Rows.Count, 5).End(xlUp).Row
N5 = Cells(Rows.Count, 6).End(xlUp).Row
MaxRow1 = Application.WorksheetFunction.Max(N1, N2, N3, N4, N5) '求出最上述範圍中最大數
複製代碼
找出B至F欄的範圍中的最大列數
想請問各位有沒有其他更快的方式,或是更好的方式,可以達到於特定範圍內找出最大列數
謝謝
作者:
luhpro
時間:
2014-8-13 23:39
回復
1#
ciboybj
假設所有資料都是與B欄中有資料的最後一列相連在一起的:
MaxRow1 = Cells(Cells(Rows.Count, 2).End(xlUp).Row, 2).CurrentRegion.Rows.Count
作者:
kimbal
時間:
2014-8-14 00:27
如果是整頁,我習慣用 Usedrange
MaxRow1 = ActiveSheet.UsedRange.SpecialCells(11).Row
作者:
stillfish00
時間:
2014-8-14 16:19
回復
1#
ciboybj
Function GetLastRow(rng As Range) As Long
Dim rngFind As Range
Set rngFind = rng.Find(what:="*", Searchorder:=xlByRows, SearchDirection:=xlPrevious)
If Not rngFind Is Nothing Then
GetLastRow = rngFind.Row
Else
Err.Raise vbObjectError + 1025, "GetLastRow()", "範圍內找不到任何資料"
End If
End Function
複製代碼
Sub Test()
MsgBox GetLastRow(ActiveSheet.[B:G])
End Sub
複製代碼
作者:
GBKEE
時間:
2014-8-14 20:12
回復
1#
ciboybj
用搜尋快一些
Option Explicit
Sub Ex()
Dim Rng As Range
With Range("B2:E15")
Set Rng = .Find(What:="*", After:=.Cells(1), SearchDirection:=xlPrevious)
'SearchDirection:=xlPrevious 搜尋方向:往後
End With
If Not Rng Is Nothing Then MsgBox Rng.Row
End Sub
複製代碼
作者:
ciboybj
時間:
2014-8-15 23:22
謝謝各位的分享!!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)