【问题标题】:Find and Replace Values in Consecutive Cells Using VBA使用 VBA 查找和替换连续单元格中的值
【发布时间】:2020-07-05 07:20:41
【问题描述】:

我希望使用另一个表中的值逐行替换三个相邻列中的值。到目前为止,我已经修改了这个答案的代码:https://www.mrexcel.com/forum/excel-questions/745557-visual-basic-applications-find-replace-multiple-values-multiple-cells-print.html

我希望在 G、H 和 I 列中搜索 A、B 和 C 列下的名称,并将其替换为 D、E 和 F 列下列出的值(值更多,因此代码需要链接列,而不仅仅是那个特定的范围)。我希望此代码仅在 A、B 和 C 列中的所有三个值都与 G、H 和 I 的所有三个值匹配时更改序列。

代码类型适用于前两列 G 和 H(不知道为什么它不会出现在 I 列),但如果我在 A 列中具有相同的值但在 B 列中具有不同的值,则不是t 确定它需要一起找到三个相邻的单元格,它将找到 A 列中的内容并将 G 列中的值替换为 D 列的值,但之后它停止并且不替换任何其他内容。

我的代码:

Sub test()

Dim NumV, AlphaV As String
Dim irow As Long

irow = Cells(1000000, 1).End(xlUp).Row

Do Until irow = 0
    TskOwn = Cells(irow, 1)
    NewTskOwn = Cells(irow, 4)
    TskSup = Cells(irow, 2)
    NewTskSup = Cells(irow, 5)
    TskIni = Cells(irow, 3)
    NewTaskIni = Cells(irow, 6)

If Cells(irow, 7) = TskOwn And Cells(irow, 8) = TskSup And Cells(irow, 9) = TskIni Then
    Application.ReplaceFormat.Interior.ColorIndex = (34)
    Columns(7).Replace What:=TskOwn, Replacement:=NewTskOwn, LookAt:=xlWhole, _
            SearchOrder:=xlByRows, MatchCase:=False
    Application.ReplaceFormat.Interior.ColorIndex = (22)
    Columns(8).Replace What:=TskSup, Replacement:=NewTskSup, LookAt:=xlWhole, _
            SearchOrder:=xlByRows, MatchCase:=False
    Application.ReplaceFormat.Interior.ColorIndex = (12)
    Columns(9).Replace What:=TskIni, Replacement:=NewTskIni, LookAt:=xlWhole, _
            SearchOrder:=xlByRows, MatchCase:=False
End If

irow = irow - 1
Loop


End Sub

我有什么:

+--------+--------+---------+-------+-------+-------+--------+--------+---------+
| A      | B      | C       | D     | E     | F     | G      | H      | I       |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
| Ty     | Sheri  | Richard | Name1 | Name2 | Name3 | Ty     | Sheri  | Richard |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
| Rachel | Sheila | Sheila  | Name4 | Name5 | Name2 | Rachel | Sheila | Sheila  |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
| Rachel | Bob    | Paul    | Name6 | Name7 | Name1 | Ty     | Sheri  | Richard |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Sarah  | Kyle   | Robert  |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Rachel | Bob    | Paul    |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Ty     | Sheri  | Richard |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Rachel | Sheila | Sheila  |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Rachel | Bob    | Paul    |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Ty     | Sheri  | Richard |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Ty     | Sheri  | Richard |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Rachel | Sheila | Sheila  |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Ty     | Sheri  | Richard |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Sarah  | Kyle   | Robert  |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+
|        |        |         |       |       |       | Rachel | Sheila | Sheila  |
+--------+--------+---------+-------+-------+-------+--------+--------+---------+

我想要什么:

+--------+--------+---------+-------+-------+-------+-------+-------+--------+
| A      | B      | C       | D     | E     | F     | G     | H     | I      |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
| Ty     | Sheri  | Richard | Name1 | Name2 | Name3 | Name1 | Name2 | Name3  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
| Rachel | Sheila | Sheila  | Name4 | Name5 | Name2 | Name4 | Name5 | Name2  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
| Rachel | Bob    | Paul    | Name6 | Name7 | Name1 | Name1 | Name2 | Name3  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Sarah | Kyle  | Robert |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name6 | Name7 | Name1  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name1 | Name2 | Name3  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name4 | Name5 | Name2  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name6 | Name7 | Name1  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name1 | Name2 | Name3  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name1 | Name2 | Name3  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name4 | Name5 | Name2  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name1 | Name2 | Name3  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Sarah | Kyle  | Robert |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name4 | Name5 | Name2  |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+

我得到了什么:

+--------+--------+---------+-------+-------+-------+-------+-------+--------+
| A      | B      | C       | D     | E     | F     | G     | H     | I      |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
| Ty     | Sheri  | Richard | Name1 | Name2 | Name3 | Name1 | Name2 |        |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
| Rachel | Sheila | Sheila  | Name4 | Name5 | Name2 | Name4 | Name5 |        |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
| Rachel | Bob    | Paul    | Name6 | Name7 | Name1 | Name1 | Name2 |        |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Sarah | Kyle  | Robert |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name4 | Bob   | Paul   |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name1 | Name2 |        |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name4 | Name5 |        |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name4 | Bob   | Paul   |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name1 | Name2 |        |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name1 | Name2 |        |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name4 | Name5 |        |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name1 | Name2 |        |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Sarah | Kyle  | Robert |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
|        |        |         |       |       |       | Name4 | Name5 |        |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+

任何帮助将不胜感激!不知道我做错了什么。

谢谢!!

【问题讨论】:

标签: excel vba


【解决方案1】:

试试这个代码:

Sub replaceNames()

For i = 1 To ActiveSheet.Range("I1").End(xlDown).Row
    For j = 1 To ActiveSheet.Range("A1").End(xlDown).Row
        If Cells(i, 7) = Cells(j, 1) And Cells(i, 8) = Cells(j, 2) And Cells(i, 9) = Cells(j, 3) Then
            Cells(i, 7) = Cells(j, 4)
            Cells(i, 8) = Cells(j, 5)
            Cells(i, 9) = Cells(j, 6)
        End If
    Next j
Next i

End Sub

【讨论】:

  • 谢谢,这正是我想要的!
猜你喜欢
  • 1970-01-01
  • 2023-01-31
  • 1970-01-01
  • 2020-05-16
  • 1970-01-01
  • 2023-01-25
  • 2018-08-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多