我正在尝试在Excel中交换整个工作簿(所有工作表)中的两个字符串。我试图更换,但这对我没有帮助。例如:
我想把所有“Apple”文本都写成“Banana”,同时将所有“Banana”文本变为“Apple”。怎么做?
答案 0 :(得分:1)
轻松!你只需要遍历所有细胞并检查苹果和香蕉。为了更有效地做到这一点,我们将使用数组来使事情变得更快
如果单元格是" apple"我们把它做成香蕉,继续前进,如果细胞是"香蕉",我们做它" apple"。解析使用的范围后,我们将数组粘贴回单元格。
Public Sub ApplesToBananas()
Dim sh As Worksheet
Dim cellArray() As Variant
Dim lRow As Long, lCol As Long
For Each sh In ActiveWorkbook.Sheets
cellArray = sh.UsedRange.Value
For lRow = 1 To UBound(cellArray)
For lCol = 1 To sh.UsedRange.Columns.Count
If LCase(cellArray(lRow, lCol)) = "apple" Then
cellArray(lRow, lCol) = "banana"
ElseIf LCase(cellArray(lRow, lCol)) = "banana" Then
cellArray(lRow, lCol) = "apple"
End If
Next lCol
Next lRow
sh.UsedRange.Value = cellArray
Next sh
End Sub
现在如果你有任何只有1个非空单元格的空白纸张或纸张,它将抛出错误。祝你好运!