Excel 具有动态范围的串联函数
我想要一个带有动态范围的Excel 具有动态范围的串联函数,excel,range,Excel,Range,我想要一个带有动态范围的串联函数。范围可能非常不同,请参见下面的示例。通过一个简单的代码可以做到这一点吗 该范围仅适用于列中非空单元格数不同的行。我还需要每两个单元格配对一次,如示例所示。试试这个-您可能需要将C1更改为数据的开头 Sub test() i = 0 i2 = 0 With ActiveSheet For Each cell In .Range("C1:" & .Range("C1").End(xlDown).Address) i2 = 0
串联
函数。范围可能非常不同,请参见下面的示例。通过一个简单的代码可以做到这一点吗
该范围仅适用于列中非空单元格数不同的行。我还需要每两个单元格配对一次,如示例所示。试试这个-您可能需要将C1更改为数据的开头
Sub test()
i = 0
i2 = 0
With ActiveSheet
For Each cell In .Range("C1:" & .Range("C1").End(xlDown).Address)
i2 = 0
temp = ""
For Each c In .Range(.Cells(cell.Row, 3), .Cells(cell.Row, 3).End(xlToRight).Address)
If i = 0 Then
i = 1
Else 'every other column
If i2 = 0 Then'first for each row needs no extra comma
i = 0
temp = "(" & .Cells(cell.Row, -1 + c.Column).Value & "," & .Cells(cell.Row, 1 + c.Column).Value & ")"
Else
i = 0
temp = temp & ",(" & .Cells(cell.Row, -1 + c.Column).Value & "," & .Cells(cell.Row, c.Column).Value & ")"
End If
i2 = i2 + 1
End If
Next
.Cells(cell.Row, 1).Value = temp 'put string into column A
Next
End With
End Sub
尝试此操作-您可能需要将C1更改为数据的开头
Sub test()
i = 0
i2 = 0
With ActiveSheet
For Each cell In .Range("C1:" & .Range("C1").End(xlDown).Address)
i2 = 0
temp = ""
For Each c In .Range(.Cells(cell.Row, 3), .Cells(cell.Row, 3).End(xlToRight).Address)
If i = 0 Then
i = 1
Else 'every other column
If i2 = 0 Then'first for each row needs no extra comma
i = 0
temp = "(" & .Cells(cell.Row, -1 + c.Column).Value & "," & .Cells(cell.Row, 1 + c.Column).Value & ")"
Else
i = 0
temp = temp & ",(" & .Cells(cell.Row, -1 + c.Column).Value & "," & .Cells(cell.Row, c.Column).Value & ")"
End If
i2 = i2 + 1
End If
Next
.Cells(cell.Row, 1).Value = temp 'put string into column A
Next
End With
End Sub
这将有助于了解您还需要哪些其他范围?下一个是C18、D18、E18、F18吗?每行的etc?@99m编号。该范围仅适用于非空单元格数量不同的行。我还需要每两个单元格配对一次,就像在例子中一样。这将有助于了解您还需要哪些其他范围?下一个是C18、D18、E18、F18吗?每行的etc?@99m编号。该范围仅适用于非空单元格数量不同的行。我还需要每两个单元格配对一次,就像在例子中一样。这将有助于了解您还需要哪些其他范围?下一个是C18、D18、E18、F18吗?每行的etc?@99m编号。该范围仅适用于非空单元格数量不同的行。我还需要每两个单元格配对一次,如示例中所示。