根据唯一标识符将行复制到新电子表格中

时间:2015-11-04 03:19:52

标签: excel vba excel-vba

在标签Paste New IDs Here列A中,从第2行开始,列出了用于标识某个人的唯一ID。有三十个唯一的ID号。

Raw Export标签中,有一堆原始数据,其中第B行(从第2行开始)包含200多人的所有ID。

我在Paste New IDs Here中放置了一个ID号列表,并将与该ID号相关联的整行拉到Test。因此,只有Paste New IDs Here表中指定了ID号的行才会被复制到Test

仅生成十行(三十个中)。

我还需要另一个循环吗?

Sub ExtractID()

Set i = Sheets("Raw Export")
Set e = Sheets("Test")
Set p = Sheets("Paste New IDs Here")

Dim d
Dim j
Dim k

d = 1
j = 2
k = 2

Do Until IsEmpty(i.Range("B" & j))

If i.Range("B" & j) = p.Range("A" & k) Then
d = d + 1
k = k + 1
e.Rows(d).Value = i.Rows(j).Value


End If
j = j + 1

Loop
End Sub

1 个答案:

答案 0 :(得分:0)

你需要在k上添加一个内部循环:

Do Until IsEmpty(i.Range("B" & j))    
  Do Until isEmpty(p.Range("A"&k))
    If i.Range("B" & j) = p.Range("A" & k) Then
      d = d + 1          
      e.Rows(d).Value = i.Rows(j).Value
    End If
    k = k + 1
  Loop
  k=2
  j = j + 1    
Loop