在Excel中,我有两个工作表。
第一个列出我对Word文件的评论,每个文件都带有代码(格式为ABC和数字),评论和其他信息。
另一个将这些代码链接到Word中的注释。这是使用宏收集的,它返回每个单词Comments的页码(存储在第二列中)。
我现在想将页码复制到原始工作表中。
我的问题是两组数据不可相称,因此无法简单地粘贴数据。因此参考。第一个工作表中的A104在第二个工作簿中有一个页面引用(15),但A105没有。此外,一些引用(A106)例如具有多个页面引用,因此在第二个工作簿中多次出现但在第一个工作簿中只出现一次。
在第一个工作表中,col。 A包含引用和col。 F是我要粘贴页码的地方(其他列包含各种其他数据)。
在第二个工作表中,col中的数据。 A对应于refs。在Sheet1:A列和col。 B包含页面引用。
简而言之,我想将第2页中的数据:col.B复制到sheet1:colF,只有Sheet 1:col。 A对应于表2:col A.这可能吗?
答案 0 :(得分:0)
好。这并不困难。你也可以这样做,或者至少尝试一下。这就是我们在这里所看到的 - 看到努力。所以,下次请先显示一些努力,并在实际遇到真正的编码问题时发布代码。
在您的情况下,我假设您的工作表被命名为" Sheet1"和Sheet2"。
如果答案有帮助,请不要忘记勾选复选标记。请阅读我们的Tour page。
Sub ttt()
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Worksheets("Sheet1")
Dim ws2 As Worksheet: Set ws2 = ThisWorkbook.Worksheets("Sheet2")
Dim i As Long, j As Long
Dim str As String
For i = 1 To ws1.UsedRange.Rows.Count
For j = 1 To ws2.UsedRange.Rows.Count
If ws1.Range("A" & i).Value = ws2.Range("A" & j).Value Then
str = str & ws2.Range("B" & j).Value & ", "
End If
Next
If Len(str) > 1 Then
str = Left(str, Len(str) - 2)
ws1.Range("F" & i).Value = str
End If
str = vbNullString
Next
End Sub