You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA 如何将嵌套循环的计算结果逐行添加到表格新行中

问题原因

你代码中新增表格行的逻辑写在了循环外部,程序全程仅创建1行空行,所有循环的计算结果都反复覆盖这同一行的内容,最终仅保留最后一次循环的结果。

修复方案

将新增行的代码移动到嵌套循环的最内层,每次计算前先新增1行再写入对应值即可,修改后的完整代码如下:

Sub 计算结果写入表格()
    Dim SGF As Single
    Dim Y As Single
    Dim a As Single
    Dim b As Single
    Dim P As Single
    Dim Q As Single
    Dim ws As Worksheet
    Dim newrow As ListRow
    Set ws = ActiveSheet

    ' 可选:如果需要每次运行先清空表格原有数据,取消下面这行注释
    ' If Not ws.ListObjects("Table4").DataBodyRange Is Nothing Then ws.ListObjects("Table4").DataBodyRange.Delete

    P = Val(InputBox("Enter SG1 Value:"))
    Q = Val(InputBox("Enter SG2 Value:"))
    SGF = Val(InputBox("Enter SGF Value:"))

    For a = 1 To 10
        For b = 1 To 10
            Y = 0
            Y = Val((P * a) + (Q * b))
            ' 每次循环新增1行
            Set newrow = ws.ListObjects("Table4").ListRows.Add
            With newrow
                .Range(1) = a
                .Range(2) = b
                .Range(3) = Y
                .Range(4) = Val(SGF - Y)
            End With
        Next b
    Next a
End Sub

内容的提问来源于stack exchange,提问作者Gayantha Akalanka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:06:03