首页 > 解决方案 > 为什么我无法使用 VBA for-loop 获得完整结果

问题描述

在此处输入图像描述

在上面的 excel 文件中,我希望将第一列(总共 12 个)中的每个单词和第二列(总共 4 个)中的每个单词组合成第三列中生成的短语。我应该得到 12*4 = 48 个短语。使用我编写的如下代码,只有不到 30 个带有一些空值单元格。请告诉我为什么我不能达到 48。谢谢。

Sub WordsCombiner()
    For i = 1 To 12
        For m = 1 To 4
            Cells(i * m, 3).Value = Cells(i, 1).Value + Cells(m, 2).Value
        Next
    Next
End Sub

以下为原文:

(第一栏)

from
the 
on 
this 
Oh
and 
FYI 
prices 
accurate 
and 
items 
in 

第二栏

as 
time 
of 
publication

标签: excelvba

解决方案


试试这个:

Sub WordsCombiner()

    Dim i As Long
    For i = 1 To 12

        Dim j As Long
        For j = 1 To 4

            Dim k As Long
            k = k + 1
            Cells(k, 3).Value = Cells(i, 1).Value & " " & Cells(j, 2).Value
        Next
    Next

End Sub

推荐阅读