选择列并从其他单元格中查找值

时间:2015-01-19 21:30:26

标签: excel vba excel-vba

我需要选择列" D:D"所以我做了。 然后我需要找到其他单元格的列值。 所以我需要做的是:

  1. 我在" J5"细胞
  2. 我需要在D:D
  3. 中找到该值
  4. 我需要将一个单元格向右移动
  5. 我需要从单元格中复制所有内容(例如 - E2)
  6. 将其粘贴在" J6"
  7. 所有内容都在一张纸上,但结果将在其他纸张中使用。它适用于tommorow学校项目。我整个周末都在努力寻找答案,但我不能自己做,我的大脑就洗了。

    代码:

    Columns("B:B").Select
    Selection.Find(What:="VA22GU1", After:=ActiveCell, LookIn:=xlFormulas, _
      LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
      MatchCase:=False, SearchFormat:=False).Activate
    

2 个答案:

答案 0 :(得分:1)

为什么每个人都想把一个宏带到公式斗争中?

在单元格J6中键入此内容

=OFFSET(D1,MATCH(J5,D:D,0)-1,1,1,1)

现在在帮助中查找OFFSETMATCH函数。

详细说明@ L42评论

=INDEX(D:D,MATCH(J5,D:D,0))

同样的结果,更紧凑,只是表明有一种方法可以给猫皮肤。

答案 1 :(得分:0)

  

所以我需要做的是:

     

1.我在" J5"细胞

     

2.我需要在D:D

中找到该值      

3.我需要将一个单元格移动到右侧

     

4.我需要从单元格中复制所有内容(例如 - E2)

     

5.将其贴在" J6"

使用此:

'1. Variant with copy method
     Sub test()
        On Error Resume Next
        If [J5].Value <> "" Then
            Columns("D:D").Find([J5].Value).Offset(, 1).Copy [J6]
        Else
            MsgBox "Cell [J5] is empty!"
        End If
        If Err.Number > 0 Then
            MsgBox "Column [D] does not contain search criteria: " & [J5].Value
            Err.Clear
        End If
    End Sub

'2. Variant without copy method
    Sub test2()
        On Error Resume Next
        If [J5].Value <> "" Then
            [J6].Value = Columns("D:D").Find([J5].Value).Offset(, 1).Value
        Else
            MsgBox "Cell [J5] is empty!"
        End If
        If Err.Number > 0 Then
            MsgBox "Column [D] does not contain search criteria: " & [J5].Value
            Err.Clear
        End If
    End Sub