对于具有多个变量的循环

phi*_*psK 1 excel vba excel-vba

这是一个excel vba子程序示例.我有两列数据,范围v和范围c- 我如何将每个单元格行的值与并行行调用值连接起来.

理想情况下,我想要做的就是这样

For Each c,b In v,bb
 ...
next c,b
Run Code Online (Sandbox Code Playgroud)

请允许我进一步解释:单元格G2值仅与J2相关,而G3与J3相关

G2 value = Blue
J2 value = Spaghetti 
Run Code Online (Sandbox Code Playgroud)

我试图用一个for循环返回"Blue Spaghetti"?

G2 value = Red
J2 value = Noodles
Run Code Online (Sandbox Code Playgroud)

我试图用一个for循环返回"Red Noodles"?

Dim c As Variant
Dim b As Variant
Dim v As Range
Dim bb As Range
Dim brow As Long
Dim vrow as long

Set v = ActiveSheet.Range("G:G")
vrow = v(v.Cells.Count).End(xlUp).Row
Set v = Range(v(2), v(brow))

Set bb = ActiveSheet.Range("J:J")
brow = bb(bb.Cells.Count).End(xlUp).Row
Set bb = Range(bb(2), bb(brow))    

For Each c In v
    c = Mid(c, 1, 4)
    msgbox c
Next c

For each b in bb   
    msgbox b    
next b
Run Code Online (Sandbox Code Playgroud)

pee*_*ege 5

看看你原来的帖子,我会说我对所有额外的东西感到困惑.看看这里发生了什么,并回答问题.我认为你已经过度复杂了你正在尝试的事情.

Sub ConcatCols()    
    Dim lastRow As Long
    Dim tempValue As String

    lastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).row

    For iRow = 2 to lastRow
        tempValue = Sheets("Sheet1").Cells(iRow, "G").Text & " " & _
            Sheets("Sheet1").Cells(iRow, "J").Text
        MsgBox tempValue   
    Next iRow    
End Sub
Run Code Online (Sandbox Code Playgroud)