需要连接使用macros的不同数量的单元格
我需要根据前一个单元格中的variables连接一列单元格。 这将继续,直到指定的variables更改。 例如:
ABCDE 1×@ 1 + 2 + 3 2 x @ 2 3 x @ 3 4 y%1%1 +%2 +%3 5 y%2 6 y%3 等等
我需要macros查看A1,如果它是x,那么在E1中开始连接string。 然后移动到A2,如果它将D2加到E1中的级联值,然后移动到A3,如果它是D3中的值加到E1中的级联值等等。一旦它在列A中碰到一个新variables(y )过程重新开始。 这是可能吗? 非常感谢您的帮助!!
这是一些快速和肮脏的代码,但它的function:
Dim i As Integer Dim j As Integer i = 1 j = 1 Dim initialValue As String initialValue = Cells(i, 1).Value Do While Cells(i, 1).Value <> "" Cells(j, 5).Value = "" Do While Cells(i, 1).Value = initialValue Cells(j, 5).Value = Cells(j, 5).Value & Cells(i, 4).Value i = i + 1 Loop initialValue = Cells(i, 1).Value j = j + 1 Loop
它假定活动工作表是您的列的那个。 列号是硬编码的,你从第一行开始。
这里是一个公式,粘贴到E2并抄下来,这将解决您的问题。 它不会整齐地把你的答案放到E1,E4等,但会逐渐降低列。
尽pipe你可以在VBA中完成你的工作。
式:
=IF(A2<>A1,D2,E1&D2)
尝试这个:
Dim row As Integer Dim col As Integer Dim working_row As Integer Dim rowVal As String, myStr As String rowVal = "" row = 1 col = 4 While Cells(row, 1).Value <> "" If Cells(row, 1).Value <> rowVal Then myStr = "" working_row = row rowVal = Cells(row, 1).Value End If myStr = myStr & CStr(Cells(row, col).Value) Cells(working_row, col + 1).Value = myStr row = row + 1 Wend