首页 > 解决方案 > 使用循环从另一张工作表中的列中获取数据

问题描述

我有一个工作簿,有两张纸,“信息”和“粘贴”。

表 1

表2

我正在尝试使用列 E(“DPD”)的值的总和,即 28(存在于单元格 E20 中)和同一列中的其他数据一个接一个地得到如下结果:

结果

我尝试了下面的代码,但它什么也没做

Sub Range_Gen_Method()

Dim targetCell As Long
Application.ScreenUpdating = False

targetCell = Sheets("INFO").Cells(Rows.Count, 5).End(xlUp).Value

For i = 1 To targetCell
    For j = 1 To Range("E7").Value
        Sheets("paste").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) = j & " - " & 28 & " to " & j + 1 & " - " & 28
    Next
    Range("B3").Offset(1, 0).Select
Next
Application.ScreenUpdating = True

End Sub

标签: excelvba

解决方案


不需要VBA。您可以使用公式然后粘贴值来做到这一点:

在此处输入图像描述

是的,第一个单元格是空的(可以手动完成),但其余结果可以通过公式获得。我的公式C3是:

=SUM($A$2:A2)+1&"/"&SUM($A$2:$A$14)&" - "&SUM($A$2:A3)&"/"&SUM($A$2:$A$14)

希望您可以根据自己的需要进行调整。

编辑:这里的诀窍是使用 dinaminc 范围。请注意,第一个和第三个总和(我的意思是SUM($A$2:A2)and SUM($A$2:A3))是对一个只有绝对引用的范围进行求和,因此每一行的范围都会发生变化


推荐阅读