我在单个列中列出了关键字。我需要将任何拼写错误的单词插入相邻的单元格以进行手动审阅。只有拼写错误的单词,而不是整个单元格。将拼写错误的单词复制到相邻列
这个VBA脚本让我大部分的方式,但我不知道如何复制拼写错误的单词。偏移量(0,1)也出错,但偏移量(1,0)起作用。 WTH?
现在我很高兴看到第一个拼写错误的单词被复制,但是如果它可以循环并将它们全部插入单元格的右侧,那就太好了。
从Excel VBA Delete Row If Mispelled Word
Sub DeleteMispelledCells()
Dim lRow As Long, cl As Range
With ActiveSheet
For lRow = .UsedRange.Rows.Count To 1 Step -1
For Each cl In .Rows(lRow)
If Not IsEmpty(cl) Then
If Not Application.CheckSpelling(Word:=cl.Text)
cl.Copy
cl.Offset(1, 0).Insert 'The Offset(0, 1) throws an error. Why?
Application.CutCopyMode = False
Exit For
End If
End If
Next cl
Next lRow
End With
End Sub
每个单元格是否有多个单词? –
这看起来像Cargo Cult Programming(https://en.wikipedia.org/wiki/Cargo_cult_programming)。例如,您询问是否检查单个列,但是您使用的是引用整个使用范围的代码。此外,你正在向后循环,这在这种情况下有点毫无意义,因为你没有删除。在另一个笔记 - 你真的想要*插入*新细胞?您可以直接将数值从一个单元格复制到另一个单元格,而不需要使用像“Copy”或“Paste”或“Insert”这样的方法。 –
每个单元有多个单词,从1个单词到最多20个单词。 向后循环是删除整行的原始代码b/c的功能。我100%找到复制/粘贴到B列的拼写错误的单词。 – ComputerGiant