我正在尝试编写一个宏,它将循环遍历大量的行(一个特定的列),如果找到一个特定的单词,则删除文本。不幸的是,我没有取得任何进展,并希望社区可以帮助。
该行的一个示例是
“一”lorem ipsum dolor sit amet,consectetur adipiscing elit“六十六”sed do eusmod tempor incidunt ut labore et dolore magna aliqua.
宏完成任务后的预期结果是:
“One”Lorem ipsum dolor sit amet,consectetur adipiscing elit
所以所有以“66y_six”开头和之后的内容都将被删除。
到目前为止我有的代码是:
Sub removeData()
Dim i As Long
Dim lastRow As Long
lastRow = Cells(Rows.Count, "C").End(xlUp).Row
For i = 2 To lastRow
If InStr(i.Value, "sixty_six") > 0 Then
i.Value = Left(i.Value, InStr(i.Value, "sixty_six") - 1)
End If
Next i
End Sub
我得到的错误声明“无效的限定符”,但不确定如何修复它。
事先谢谢你的帮助。
首先,声明一个工作表,这样您就可以在这里对对象进行适当的限定。您还在循环一个无效的范围--请参见循环下面列上所有行的正确方法(假设要更改的字符串在列C
中)
假设值“66y_six”
将出现一次或根本不出现,则可以使用split
将字符串转换为两个元素,其中:
“66y_six”
“66y_six”
如果字符串中没有出现“66y_six”,则整个字符串将保留在第一个元素中
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim i As Long, lr As Long
Dim arr
lr = ws.Range("C" & ws.Rows.Count).End(xlUp).Row
For i = 2 To lr
arr = Split(ws.Range("C" & i), """sixty_six""")
ws.Range("C" & i) = arr(0)
arr = ""
Next i
只需使用搜索和替换(CTRL+F)并使用通配符搜索“66y_six”*
和替换(一个空字符串)即可避免VBA。
突出显示目标列并选择全部替换
。
@Bigben用于调用非Excel解决方案
我有一个字符串,其中包含重复出现的短语,或者它甚至可能是一个连续出现多次的单词。 尝试了各种方法,但找不到更好的节省时间和空间的方法。 这是我尝试过的方法 Groupby() re 在我的情况下,他们两个似乎都不起作用 我的预期结果: 这些是我提到的一些帖子 有没有办法删除字符串中重复和连续的单词/短语?-不工作 我怎么能删除重复的字在一个字符串与Python?-工程部分,但需要一个最佳的方式为大
问题内容: 起初,我使用了网格。创建新版本的GWT后,我想替换CellTable上的Grid。 问题答案: 查看javadoc以获取详细信息。我的示例就像您可以在此处找到的示例(稍稍扩展一下):
我的VBA脚本中有一些代码,当行的相应B列的值等于零时,应该删除整行。不幸的是,我所使用的代码行并不是我想要的,因为如果相应行中的任何单元格等于零,它会删除整行。以下是迄今为止的代码: 例如,我有一行,其中D列中的单元格等于零,而这段代码删除了整行,即使B列中的单元格的值不是零。如何更改代码,使其实际上只扫描列B中的条目? 如有任何帮助,我们将不胜感激。
我想删除Vaadin 8网格中所有单元格周围的边框。我不相信这可以用代码来做,并且表格的css不适用于网格,因此你如何为网格执行此操作?
我有一个excel,它有多个行和列,每行的列值范围不同。 需要一个宏,该宏将删除每行中除第一个和最后一个以外的所有单元格,并将最后一个值粘贴到第一个值旁边。 尝试了以下脚本:
我有一个工作表,我需要根据单元格值删除行。。 要检查的单元格位于A列中。。 如果单元格包含“-”。。删除行 我找不到这样做的方法...我打开一个工作簿,将所有内容复制到另一个工作簿,然后删除整个行和列,但必须根据单元格值删除特定的行。 这里需要帮助。 更新 我拥有的数据样本