首页 > 解决方案 > 清理搜索和替换所需的 VBA

问题描述

我是 VBA 的新手,所以我只是在网上查找代码并为我的文件修改它。

我想知道我是否可以将以下 2 个宏放在一起。它在 AF 列中查找合同编号,然后更改客户名称 (col AN) 和客户组名称 (col AP)。可以用另一种方式完成吗?

我想根据以后的需要简化它,根据合同编号为其他客户更改 5 个不同列中的另外 5 个变量。

Sub CorrectCustomerNameXXXX()

Dim LastRow As Long
Dim i As Long

LastRow = Range("AF1000000").End(xlUp).Row
For i = LastRow To 1 Step -1
    If Range("AF" & i) = "006-0146157-001" Then
        Range("AN" & i).Value = "CUSTOMER_NAME"
    End If
Next
End Sub



Sub CorrectCustomerGROUPNameXXXX()

Dim LastRow As Long
Dim i As Long

LastRow = Range("AF1000000").End(xlUp).Row
For i = LastRow To 1 Step -1
    If Range("AF" & i) = "006-0146157-001" Then
        Range("AP" & i).Value = "CUSTOMER_GROUP"
    End If
Next

End Sub

在此先感谢您的帮助

标签: excelvbafind-replace

解决方案


请试试这个代码。您应该使用相同的迭代:

Sub CorrectWhatever()
Dim LastRow As Long, i As Long

LastRow = Range("AF" & rows.count).End(xlUp).Row
For i = 1 To LastRow
    If Range("AF" & i).Value = "006-0146157-001" Then
        Range("AN" & i).Value = "CUSTOMER_NAME"
        Range("AP" & i).Value = "CUSTOMER_GROUP"
    End If
Next
End Sub

推荐阅读