【问题标题】:Write an Excel macro to find and value, copy that value and paste into a Cell编写一个 Excel 宏来查找和赋值,复制该值并粘贴到单元格中
【发布时间】:2021-06-15 02:24:41
【问题描述】:

我想写一个 excel VBA 宏来

  • 在表(名为“array1”)中查找值“新成员”
  • 查看并复制找到的项目左侧的第 5 个单元格
  • 粘贴到单元格 G5
  • 如果未找到值“新成员”,请在单元格 G5 中写入“未找到”

我尝试过各种版本的


        Cells.Find("New Member").Activate
        ActiveCell.Offset(0, -5).Range("array1").Select
        Selection.Copy
     Range("????").Select
         ActiveSheet.Paste
        If aaa = "" Then
        MsgBox "nope"
        Else

        Range("G5").Select
        ActiveSheet.Paste

我的vba excel宏技能很新。 谢谢!

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    你可以在没有选择/激活的所有东西的情况下做到这一点。

    Dim rngFound As Range
    
    Set rngFound = Range("Array1").Cells.Find("New Member")
      
    If rngFound Is Nothing Then
        Range("G5").Value = "Not Found"
    Else
        rngFound.Offset(,-5).Resize(,5).Copy Range("G5")
    End If
    

    【讨论】:

    • 谢谢,这肯定是一个改进,你是如何决定复制范围 A5 的,我很可能会在 f 列和多行之一中找到我的值。我认为对 A5 的引用需要是动态的,如果在第 9 行找到值“新成员”,则成员 ID 将在 a 列和第 9 行。
    • 谢谢,这肯定是一个改进。您是如何决定在此场景中复制 A5 范围的,我很可能会在 f 列和多行之一中找到我的值?我认为对 A5 的引用需要是动态的,如果在第 9 行 G 列上找到值“新成员”,则成员 ID 将在 A 列和第 9 行。此外,我无法找到“新成员”的值(不带引号)但是,该值确实存在于 G 列中。
    • A5 是一个错字 - 我把它改成了 G5 因为你说你想复制到那里。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-06
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    相关资源
    最近更新 更多