Excel VBA宏查找/剪切/粘贴

时间:2018-08-23 14:19:12

标签: excel vba excel-vba

我正在为我正在研究的项目提出解决方案,这很困难。我需要一个宏来查看特定的工作表,找到一个特定的值,并在行的末尾剪切/粘贴该值。

查看我所附的示例文件,您可以看到每个客户在A列中都有一个唯一的ID。

他们正在回答问卷,他们给出的每个答案都会生成一个唯一的ID。

答案ID的顺序无关紧要,因为它们是唯一的。唯一重要的是分号的答案。该答案ID必须是客户的最后一个ID。因此,我需要找到一种方法来剪切这些答案ID并将其粘贴到每一行的末尾。

我希望分号答案是数组中的最后一个答案。第一次在此发布信息,如果格式不正确,我感到抱歉。

已更新:示例文件

IMG1

1 个答案:

答案 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