我已经获得了一个非常大的电子表格,在数据库中会更好,所以我正在尝试清理电子表格,以便我可以导入它。在整个工作表中,有一些单元格具有一些使用删除线格式化的部分(表示旧的或更改的信息)。我想要删除所有删除,连接它,并将其粘贴到单独的“注释”列中。
我有这个模块(copied from extendoffice.com website)会删除删除线,但是如何更改它以复制文本并将其粘贴到新字段中?
lefToRight
答案 0 :(得分:1)
您需要更改行xCell.Value = ""
,因为这是清除单元格。
有几种方法可以满足您的需求:
1)您可以将值堆叠在每个值之间用默认特殊字符分隔的字符串中,然后将该字符串拆分为数组并将数组粘贴到列表中;
或更简单但有点慢的方式
2)将单元格值直接粘贴到单独的工作表中,每次增加一行。 像这样的东西
在任何循环外部的子顶部
Dim listRow As Long
listRow = 1
然后用
替换xCell.Value = ""
Sheets("stack strike through").Cells(listRow , 1) = xCell.Value 'change sheet name, if you want to use a different column instead of A change 1 from the cells(listRow ,1)
listRow = listRow + 1
记住要更改工作表名称
答案 1 :(得分:1)
Sub RemoveNonStrikethroughTextFromSelection()
Intersect(Selection.Areas(1), ActiveSheet.UsedRange).Select
Selection.Value(11) = Replace(Replace(Selection.Value(11), "<S>", "["), "</S>", "]")
Selection.Replace "]*[", "", xlPart
Selection.Replace "*[", ""
Selection.Replace "]*", ""
End Sub
此版本包含[
]
的删除线文字,并删除[
之前和]
之后的文字。
要仅删除删除线文字,请将3 Selection.Replace
行替换为:
Selection.Replace "[*]", "", xlPart