我在学习VBA的过程中已经使用了几个星期的论坛。但现在我陷入困境并需要帮助。所以这里是我的问题:VBA:循环遍历行,如果条件符合,则总结某些行
我有一个工作簿中有几个工作表。为了简单起见,我们假设我有两个工作表。一个有很多原始数据资料,另一个格式良好,将成为接收表。
原始数据表看起来像这样:我有8列,我需要检查每行(列B和E)中的两个条件并将H列中的值相加。012列表B包含不同的名称和列E包含工作状态,例如准备好或谈话。我确实有大约3.000行和一组具有不同地位的大约20个不同的名字。总的来说,我们假设名为“Smith”的100行和状态“talk”的顺序没有特别的顺序。我现在需要总结名字“Smith”和状态“talking”被放入的每一行中的所有数字(列H)。之后,我想要命名(B列),状态(列E)和总和(列H)写入动态范围内的相同工作簿的单元格中,从I3:K3开始。我不得不承认,我在这个黑暗中总有一天.. 我真的希望你们可以帮助我一些代码和/或指向正确的方向。最重要的是,我希望你也可以解释你的代码的作用,所以我可以正确理解并学习。在此先感谢你们!
这是到目前为止我的代码:
Private Sub SumNumbers()
Dim tbl As Worksheet
Dim x As Integer
Dim lrow As Long
Dim lastname As String
Dim astatus As String
Dim number As Integer
Dim counter As Integer
Set wb = ThisWorkbook
Set tbl = wb.Sheets("Sheet1")
lrow = tbl.Cells(Rows.Count, "B").End(xlUp).Row
lastname = tbl.Cells("C2:C" & lrow).Text
astatus = tbl.Cells("E2:E" & lrow).Text
number = tbl.Cells("H2:H" & lrow)
For x = 2 To lrow
If lastname = "Smith" And astatus = "Talking" Then
counter = counter + number
End If
Next x
End Sub
如果你不需要VBA –