[英]Find/Replace cells in selected range having zero values (Formula cells) using VBA
[英]Find and Replace Values in Consecutive Cells Using VBA
我希望使用另一個表中的值逐行替換三個相鄰列中的值。 到目前為止,我已經修改了這個答案中的代碼: 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 列中具有不同的值,則無法識別它需要一起找到三個相鄰的單元格,它會找到 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 | |
+--------+--------+---------+-------+-------+-------+-------+-------+--------+
任何幫助,將不勝感激! 不知道我做錯了什么。
謝謝!!
試試這個代碼:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.