Excel VBA: 删除 H 列中与 L 列匹配的字符
使用 VBA 删除 H 列中与 L 列匹配的字符
本教程将教你如何编写一个简单的 Excel VBA 代码,用于检查 H 列的每个单元格,找到与 L 列中相同的字符并删除它们。
代码:
Sub DeleteMatch()
Dim lastRow As Integer
Dim i As Integer
Dim j As Integer
lastRow = Cells(Rows.Count, "H").End(xlUp).Row
For i = lastRow To 1 Step -1
For j = 1 To lastRow
If Cells(i, "H").Value = Cells(j, "L").Value Then
Cells(i, "H").Delete Shift:=xlUp
Exit For
End If
Next j
Next i
End Sub
代码解释:
- 声明变量: 首先,我们声明三个变量:
lastRow用于存储 H 列的最后一行,i和j用于循环遍历单元格。 - 获取最后一行:
lastRow = Cells(Rows.Count, "H").End(xlUp).Row这行代码用于获取 H 列的最后一行。 - 嵌套循环: 代码使用两个嵌套循环来遍历 H 列和 L 列的所有单元格。
- 外部循环:
For i = lastRow To 1 Step -1循环从最后一行开始,逐步遍历到第一行。 - 内部循环:
For j = 1 To lastRow循环从第一行开始,逐步遍历到最后一行。
- 外部循环:
- 比较字符:
If Cells(i, "H").Value = Cells(j, "L").Value Then这行代码检查 H 列中的当前单元格的值是否与 L 列中的当前单元格的值相同。 - 删除匹配项:
Cells(i, "H").Delete Shift:=xlUp如果找到匹配项,则删除 H 列中的当前单元格,并向上移动其他单元格以填补空白。 - 退出内部循环:
Exit For一旦找到匹配项,内部循环就会退出,继续检查下一个 H 列中的单元格。
使用说明:
- 打开您的 Excel 工作簿,并确保 H 列和 L 列包含您要比较的字符。
- 在 Excel 的 VBA 编辑器中粘贴代码。
- 点击运行按钮,或者使用快捷键 F5 运行代码。
代码将自动检查 H 列中的所有单元格,并删除与 L 列中相同的字符。
注意:
- 此代码会删除 H 列中的所有匹配项,即使多个单元格包含相同的字符。
- 如果您只想删除每个匹配项的第一个实例,请修改代码以在删除匹配项后退出内部循环。
希望这个教程对您有所帮助!如果您有任何疑问,请随时在评论中提出。
原文地址: https://www.cveoy.top/t/topic/mLlj 著作权归作者所有。请勿转载和采集!