无法使用VBA在不同的工作表上显示相邻单元格的值

这段代码给了我麻烦。 我想扫描列B中的关键字,并在单独的工作表中显示其旁边的单元格的值(所以它将是同一行的列)。 我写了代码,并突出了困扰的部分。 它只显示最终值而不显示其余的值。 我将不胜感激任何帮助。

Dim MyRange As Range Dim rcell As Range Dim Sum_Payment As Double Dim Dates_Array() As Double Dim Cash_Array() As Double Dim i As Integer Set MyRange = Worksheets("Database").Range("B2:B50") For Each rcell In MyRange.Cells If rcell.Value = "Payment" Then ***For i = 1 To 30*** Sum_Payment = Sum_Payment + rcell.Offset(0, 2).Value ***Dates_Array(i) = rcell.Offset(i, -1).Value ThisWorkbook.Sheets("Sheet2").Range("A10:A20") = Dates_Array(i)*** Next i End If Next rcell ThisWorkbook.Sheets("Sheet2").Range("B2") = Sum_Payment 

每当你经历循环,你都覆盖相同的范围。 如果我理解你的描述正确,这一行…

 ThisWorkbook.Sheets("Sheet2").Range("A10:A20") = Dates_Array(i) 

…应该:

 ThisWorkbook.Sheets("Sheet2").Cells(rcell.Row, 1) = Dates_Array(i)