微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在列中搜索动态值并根据需要更新值

如何解决在列中搜索动态值并根据需要更新值

我是 excel VBA 世界的新手,我想我的问题很简单,但我无法解决

sheet 1 中,我的客户编号是 Won,意思是 client

sheet 2 中,我得到了客户的号码,如果他是 client(赢)、prospectlost

我想更新 Sheet 2,以便在我运行宏时,Person1、Person2...成为客户的事实显示在工作表中并更新。

我的想法是在Sheet 1中选择客户编号,然后转到Sheet 2中的客户编号。如果旁边的值与 Client 不同,则将客户端放入其中。

我正在使用特定行和列的测试截图。

enter image description here

enter image description here

我愿意接受建议。提前致谢!

解决方法

我假设您看到了“开发人员”标签。

如果没有,请转到“文件”>“选项”。在出现的 Excel 选项窗口中,查找并单击“自定义功能区”。在“从中选择命令”下拉列表中,查找“开发人员”。单击它,然后单击右侧的“添加>>”。这会将“开发人员”添加到右侧部分名称“主选项卡”。单击此处选中“开发人员”,然后单击“确定”。

现在转到开发人员 > Visual Basic。

这将打开 Visual Basic 编辑器。转到插入 > 模块。这将在 Project Explorer 的 Modules 下添加 Module1。

将以下代码粘贴到该模块中,然后通过将光标放在子例程内的任意位置按 F5 运行。

如果你想通过点击一个按钮来运行它。在工作表上插入一个形状。右键单击形状,然后单击“分配宏”。在打开的窗口中,双击所需子程序的名称。在这种情况下,它是 AssigningClientStatus。

Sub AssigningClientStatus()

Dim ws1 As Worksheet,ws2 As Worksheet,rng As Range,fndRng As Range


Set ws1 = ThisWorkbook.Worksheets("Feuil1")
Set ws2 = ThisWorkbook.Worksheets("Feuil2")


    For Each rng In ws1.Range("O2",ws1.Range("O" & Rows.Count).End(xlUp))
    
        Set fndRng = ws2.Range("B1",ws2.Range("B" & Rows.Count).End(xlUp)).Find(What:=rng.Value)
        
        If Not fndRng Is Nothing Then
        
            fndRng.Offset(0,1).Value = "Client"
            
        End If
        
    Next rng
    
End Sub

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?