如何使用VBA匹配两张图纸上的数字并输出到第三张图纸上?

如何使用VBA匹配两张图纸上的数字并输出到第三张图纸上?,vba,excel,Vba,Excel,我正在尝试编写一些VBA,它将查找表1和表2中出现的匹配数字,并将它们输出到表3。下面是我的代码,但没有结果。我做错了什么 Sub match() Dim a As Integer dim i as long, ii as long a = 2 Dim lastrow As Long Dim ylastrow As Long ylastow = Sheets("Sheet2").UsedRange.Rows.Count last

我正在尝试编写一些VBA,它将查找表1和表2中出现的匹配数字,并将它们输出到表3。下面是我的代码,但没有结果。我做错了什么

    Sub match()
    Dim a As Integer
    dim i as long, ii as long
    a = 2

    Dim lastrow As Long
    Dim ylastrow As Long
    ylastow = Sheets("Sheet2").UsedRange.Rows.Count

    lastrow = Sheets("Sheet1").UsedRange.Rows.Count
    for i = a to lastrow
    for ii = a to ylastrow
    if Sheets("Sheet1").Cells(i,1) = Sheets("Sheet2").Cells(ii,2) then
    Sheets("Sheet3").range("A100000").xlup

    End Sub

假设要将匹配的单元格连续按行复制到sheet3中

如果表3中的目标单元格设置不正确,则缺少
next ii
next i
end
这应该行得通

Sub match()
Dim a As Integer
Dim i As Long, ii As Long, j As Long
a = 2
j = 2

Dim lastrow As Long

Dim ylastrow As Long

Sheet1rows = Sheets("Sheet1").UsedRange.Rows.Count + 1
sheet2rows = Sheets("Sheet2").UsedRange.Rows.Count + 1

For i = a To Sheet1rows
    For ii = a To sheet2rows
        If Sheets("Sheet1").Cells(i, 1) = Sheets("Sheet2").Cells(ii, 1) Then
        Sheets("Sheet3").Range("A" & j) = Sheets("Sheet1").Cells(i, 1)
        j = j + 1
        End If
    Next ii
Next i

End Sub

假设要将匹配的单元格连续按行复制到sheet3中

如果表3中的目标单元格设置不正确,则缺少
next ii
next i
end
这应该行得通

Sub match()
Dim a As Integer
Dim i As Long, ii As Long, j As Long
a = 2
j = 2

Dim lastrow As Long

Dim ylastrow As Long

Sheet1rows = Sheets("Sheet1").UsedRange.Rows.Count + 1
sheet2rows = Sheets("Sheet2").UsedRange.Rows.Count + 1

For i = a To Sheet1rows
    For ii = a To sheet2rows
        If Sheets("Sheet1").Cells(i, 1) = Sheets("Sheet2").Cells(ii, 1) Then
        Sheets("Sheet3").Range("A" & j) = Sheets("Sheet1").Cells(i, 1)
        j = j + 1
        End If
    Next ii
Next i

End Sub

假设要将匹配的单元格连续按行复制到sheet3中

如果表3中的目标单元格设置不正确,则缺少
next ii
next i
end
这应该行得通

Sub match()
Dim a As Integer
Dim i As Long, ii As Long, j As Long
a = 2
j = 2

Dim lastrow As Long

Dim ylastrow As Long

Sheet1rows = Sheets("Sheet1").UsedRange.Rows.Count + 1
sheet2rows = Sheets("Sheet2").UsedRange.Rows.Count + 1

For i = a To Sheet1rows
    For ii = a To sheet2rows
        If Sheets("Sheet1").Cells(i, 1) = Sheets("Sheet2").Cells(ii, 1) Then
        Sheets("Sheet3").Range("A" & j) = Sheets("Sheet1").Cells(i, 1)
        j = j + 1
        End If
    Next ii
Next i

End Sub

假设要将匹配的单元格连续按行复制到sheet3中

如果表3中的目标单元格设置不正确,则缺少
next ii
next i
end
这应该行得通

Sub match()
Dim a As Integer
Dim i As Long, ii As Long, j As Long
a = 2
j = 2

Dim lastrow As Long

Dim ylastrow As Long

Sheet1rows = Sheets("Sheet1").UsedRange.Rows.Count + 1
sheet2rows = Sheets("Sheet2").UsedRange.Rows.Count + 1

For i = a To Sheet1rows
    For ii = a To sheet2rows
        If Sheets("Sheet1").Cells(i, 1) = Sheets("Sheet2").Cells(ii, 1) Then
        Sheets("Sheet3").Range("A" & j) = Sheets("Sheet1").Cells(i, 1)
        j = j + 1
        End If
    Next ii
Next i

End Sub

感谢工作完美,但只是瓦纳知道你所说的这张表(“Sheet3”)是什么意思。范围(“A”和“j)=表(“Sheet1”)。单元格(i,1)我理解第一部分,但表(Sheet1)你为什么不再使用sheet2呢?谢谢你可以使用sheet1或sheet2,它们在这一点上具有相同的价值。谢谢工作得很好,但我想知道你所说的这张纸(“Sheet3”)是什么意思。范围(“a”和“j)=纸(“sheet1”)。单元格(i,1)我理解第一部分,但纸(sheet1)你为什么不再使用sheet2呢?谢谢你可以使用sheet1或sheet2,它们在这一点上具有相同的价值。谢谢工作得很好,但我想知道你所说的这张纸(“Sheet3”)是什么意思。范围(“a”和“j)=纸(“sheet1”)。单元格(i,1)我理解第一部分,但纸(sheet1)你为什么不再使用sheet2呢?谢谢你可以使用sheet1或sheet2,它们在这一点上具有相同的价值。谢谢工作得很好,但我想知道你所说的这张纸(“Sheet3”)是什么意思。范围(“a”和“j)=纸(“sheet1”)。单元格(i,1)我理解第一部分,但纸(sheet1)为什么您没有使用sheet2呢?再次感谢您,您可以使用sheet1或sheet2,它们在这一点上具有相同的值。