簡體   English   中英

計算工作表中的行數

[英]Count number of rows in worksheet

我想從Sheet2代碼模塊中計算Sheet1中的行數。

sheet1代碼模塊中,以下代碼工作正常

ctr = Range("B2", Range("B2").End(xlDown)).Count

我在Sheet2代碼模塊中嘗試了相同的代碼

recct = ThisWorkbook.Sheets("Sheet1").Range("B2", Range("B2").End(xlDown)).Count

我得到run time error 1004 Application -Defined or Defined error

謝謝

該錯誤發生在recct中的第二個范圍參考中。 因為您引用了不同的工作表,所以需要告訴VBA兩個范圍引用中的工作表名稱。

試試這個:

With ThisWorkbook.Sheets("Sheet1")    
    recct = .Range("B2", .Range("B2").End(xlDown)).Rows.Count    
End With

或者,這也會起作用(雖然有點邋))。

recct = ThisWorkbook.Sheets("Sheet1").Range("B2", ThisWorkbook.Sheets("Sheet1").Range("B2").End(xlDown)).Rows.Count

更新

由於關於工作表上行數的實際含義有很多討論,使用上面的代碼從字面上開始B2並直接計算下面連續單元的數量

但是,如果你想在B列中找到最后一個“真正的”用過的單元格(通過實際,我的意思是其中包含數據),請執行以下操作:

With ThisWorkbook.Sheets("Sheet1")

    recct = .Range("B2", .Range("B" & .Rows.Count).End(xlUp)).Rows.Count

End With

您可以使用此示例:

rowsInThere = Sheets("Sheet1").UsedRange.Rows.Count

這沒有范圍。 您還可以使用ActiveSheet作為工作表來檢查,以防您需要更改當前工作表並檢查其行數。

兩件事情

  1. 在離開工作表時,您需要完全符合您的范圍
  2. 始終測量最后一個單元格而不是自上而下 - 您可能有間隙

Sub GetB()
Dim ws As Worksheet
Set ws = Sheets(1)
Dim lngCnt As Long
lngCnt = ws.Range(ws.[b2], ws.Cells(Rows.Count, "b").End(xlUp)).Count
End Sub

更強大

要干凈地處理所有情況,那么Find更容易

Sub GetB()
    Dim ws As Worksheet
    Dim rng1 As Range
    Set ws = Sheets(1)
    Set rng1 = ws.Range("B:B").Find("*", ws.[b1], xlValues, , , xlPrevious)
    If Not rng1 Is Nothing Then
    Select Case rng1.Row
    Case 1
    MsgBox "Only B1 has data", vbCritical
    Case 2
    MsgBox "No used cells past B2"
    Case Else
    MsgBox rng1.Row - 1 & " cells between B2 and B" & rng1.Row
    End Select
    Else
        MsgBox ws.Name & " column B Is blank", vbCritical
    End If
End Sub

不知道這是否會有所幫助,但我一直在我的模塊中使用它:

Dim TR as long, TC as long

TR = [Sheet1!A1].CurrentRegion.Rows.count
TC = [Sheet1!A1].CurrentRegion.Columns.count

如果我知道如果我正在處理的數據集沒有空行或列,就像從另一個程序或其他東西中提取的那樣,那么它很快就會很好用! 從這里我可以指定范圍選擇或執行vlookup。

TR = [Sheet1!A1].CurrentRegion.Rows.count
[I2] = "=vlookup($C2,'sheet1'!A$2:B$" & TR & ",2,FALSE)"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM