Excel 为每个/IF语句连接中的行
我正在尝试连接行 第一个单元格已正确填充;但是,之后的每个单元格都与第一个单元格相同Excel 为每个/IF语句连接中的行,excel,vba,Excel,Vba,我正在尝试连接行 第一个单元格已正确填充;但是,之后的每个单元格都与第一个单元格相同 第一个单元格是FS\u Tier\u 1,FS\u CAP\u 1\u 001 下一个单元格应为FS\u Tier\u 1,FS\u CAP\u 1\u 002 之后的单元格应该是FS\u Tier\u 1、FS\u CAP\u 1\u 003,依此类推 每个单元格显示FS\u Tier\u 1,FS\u CAP\u 1\u 001 Sub Concatenate_Cap1() With Worksh
- 第一个单元格是
FS\u Tier\u 1,FS\u CAP\u 1\u 001
- 下一个单元格应为
FS\u Tier\u 1,FS\u CAP\u 1\u 002
- 之后的单元格应该是
,依此类推FS\u Tier\u 1、FS\u CAP\u 1\u 003
FS\u Tier\u 1,FS\u CAP\u 1\u 001
Sub Concatenate_Cap1()
With Worksheets("PD Code Structure")
Dim i As Integer
Dim cell As Range
Dim Rng1 As Range
Set Rng1 = Range("F2:F1006")
i = 2
For Each cell In Rng1
If InStr(Cells(i, 3).Value, "FS_Tier_") And InStr(Cells(i, 8).Value, "FS_CAP_1_") Then
Range("F2:F1006").Formula = Cells(i, 3).Value & " , " & Cells(i, 8).Value
i = i + 1
End If
Next cell
End With
End Sub
您正在将整个范围设置为相同的值
Range("F2:F1006").Formula = Cells(i, 3).Value & " , " & Cells(i, 8).Value
像这样的方法应该会奏效:
Sub Concatenate_Cap1()
Dim c As Range, rw As range, v3, v8
For Each c in Worksheets("PD Code Structure").Range("F2:F1006")
v3 = c.EntireRow.cells(3).value
v8 = c.EntireRow.cells(8).value
If InStr(v3, "FS_Tier_") And InStr(v8, "FS_CAP_1_") Then
c.value = v3 & " , " & v8
End If
Next cell
End Sub