簡體   English   中英

根據參數計算行數。 (Excel VBA)

[英]Count Number of Rows based on Parameter. (Excel VBA)

我需要根據數據的星期和類型來計算行數。 我有一個excel公式,但我想將其作為VB代碼使用,但是我沒有太多想法,因此無法正常工作。

=IF(AND($N$4="All",$N$5="All"),SUM(('SD'!$I$2:$I$99538='Source'!$B6)*('SD'!$A$2:$A$99538='Source'!C$5)),IF(AND($N$4="All",$N$5<>"All"),SUM(('SD'!$I$2:$I$99538='Source'!$B6)*('SD'!$A$2:$A$99538='Source'!C$5)*('SD'!$B$2:$B$99538='Source'!$N$5)),IF(AND($N$4<>"All",$N$5="All"),SUM(('SD'!$I$2:$I$99538='Source'!$B6)*('SD'!$A$2:$A$99538='Source'!C$5)*('SD'!$K$2:$K$99538='Source'!$N$4)),IF(AND($N$4<>"All",$N$5<>"All"),SUM(('SD'!$I$2:$I$99538='Source'!$B6)*('SD'!$A$2:$A$99538='Source'!C$5)*('SD Raised'!$B$2:$B$99538='Source'!$N$5)*('SD'!$K$2:$K$1048576='Source'!$N$4))))))

我有一個工作表,其中捕獲了所有數據(SD),第二個工作表是工作表(源),在這里我需要根據以下參數計算可用的行數; 數據所屬的星期和數據類別。

編輯:此公式*不計算我需要計算的數據。 如果可能的話,我想將其作為VBA代碼。

這是應該計算的數據所在的位置。 “周數根據下拉iput而改變(從所選的周開始,最多不超過4周)”

報告

此圖像顯示了我需要捕獲的數據,並根據周和類別對類別數進行計數。 (僅示例)

資源

所以我不得不猜測您想要什么,但是如果您想在Excel vba中計算特定的行,則可以使用以下方法:

Dim allRows As Variant
Dim i As Long

Dim count as Long
count = 0

allRows = Tabelle5.Range("A" & start_row, end_column & last_row)

For i = 1 To UBound(allRows)
    If allRows(i, 1) = *category* and allRows(i,2) = *week* Then
        count = count + 1
    End If
Next

為了找到合適的范圍,有多種可能的解決方案。 我用這個,也許不是最好的,但是對我來說很好:

Private Function last_row() As Integer
 Dim rangeObj As Range
 Set rangeObj = Tabelle5.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
 If rangeObj Is Nothing Then
    last_row = start_row
 Else
    last_row = rangeObj.row
 End If
End Function

Public Function start_row() As Integer
    start_row = 2
End Function

我猜想,如果您正確地選擇了DoktorOSwaldo,最好使用Range()。Rows.Count屬性,而不要滾動allRows。 希望這可以幫助。

哈迪

暫無
暫無

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

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