在不同工作表的不同列中查找值,然后将其粘贴到orignial工作表

时间:2018-04-16 18:07:22

标签: excel vba

我在工作表Lookup的单元格b3中有一个值,我想在工作表数据中查找该值,范围B2:B11302,当找到该值时,我想跳到右边的一个单元格,复制然后将值再次粘贴到工作表Lookup中的单元格b8中。我使用以下代码,但我一直得到运行时错误1004.请帮忙!

Sub lookupval1()



Dim j As Long
Dim clid As String
Dim n As Integer
Dim k As Long
Dim m As Long
Dim pol_num As Range



clid = Sheets("Lookup").Range("c3")



j = 1
k = 1
m = 1

Do Until Sheets("Data").Range("b2").Offset(j - 1, 0) = ""


    If clid = Sheets("Data").Range("b2").Offset(j - 1, 0) Then
        Sheets("Lookup").Range("b8").Value = Sheets("Data").Range("b2").Offset(j - 1, 0).Select
    Else

    End If

    j = j + 1

Loop



End Sub

1 个答案:

答案 0 :(得分:1)

中删除.Select
 Sheets("Lookup").Range("b8").Value = Sheets("Data").Range("b2").Offset(j - 1, 0).Select

这是一种方法,您不能在尝试在作业中使用其值的同时使用它。

所以也许尝试类似的事情:

Option Explicit

Sub lookupval1()
    Dim j As Long, clid As String, n As Long, k As Long, m As Long
    clid = Sheets("Lookup").Range("C3")
    j = 1: k = 1: m = 1

    Do Until IsEmpty(Sheets("Data").Range("B2").Offset(j - 1, 0))
        If clid = Sheets("Data").Range("B2").Offset(j - 1, 0) Then
           Sheets("Lookup").Range("B8").Value = Sheets("Data").Range("B2").Offset(j - 1, 0)
           Exit Do
        End If
        j = j + 1
    Loop
End Sub