我正在为我正在研究的项目提出解决方案,这很困难。我需要一个宏来查看特定的工作表,找到一个特定的值,并在行的末尾剪切/粘贴该值。
查看我所附的示例文件,您可以看到每个客户在A列中都有一个唯一的ID。
他们正在回答问卷,他们给出的每个答案都会生成一个唯一的ID。
答案ID的顺序无关紧要,因为它们是唯一的。唯一重要的是分号的答案。该答案ID必须是客户的最后一个ID。因此,我需要找到一种方法来剪切这些答案ID并将其粘贴到每一行的末尾。
我希望分号答案是数组中的最后一个答案。第一次在此发布信息,如果格式不正确,我感到抱歉。
已更新:示例文件
答案 0 :(得分:0)
我认为这将满足您的需求。它遍历各列并遍历这些列中的每一行,一旦找到具有;
的单元格,它就会将该值向下移动到找到该行的底部。
Sub AnswerID()
Dim lastCol As Long
lastCol = Cells(1, Columns.count).End(xlToLeft).Column
Dim i As Long
For i = 1 To lastCol
Dim lastRow As Long
lastRow = Cells(Rows.count, i).End(xlUp).row
Dim j As Long
For j = 1 To lastRow
If InStr(Cells(j, i), ";") > 0 Then
Cells(lastRow, i).offset(1, 0).Value2 = Cells(j, i).Value2
Cells(j, i).Value2 = vbNullString
Exit For
End If
Next j
Next i
End Sub