分离句子的VBA代码

时间:2015-12-14 12:17:26

标签: vba excel-vba excel

我试图将两个或多个句子分开,并且在每个句子之后都应该有一个分隔符";"。

例如:FINRA,SEC为波多黎各基金罚款3350万美元;消费指数8月升至1.63

谢谢! DeeK

2 个答案:

答案 0 :(得分:0)

分开两个句子并不是一件容易的事,因为你只能猜到句子的结尾。 假设每个“。”,你不能简单地将文本分成单个句子。结束一句话:

Fined $33.5 million by FINRA, SEC for Puerto Rico Funds

包含一个。但不是两句话。

我要做的一件事是假设句子被组合“。”分开。应该在大多数时间工作。

要在代码中实际执行此操作,请检查“替换”功能。 它粗略地使用如下:

Dim replaced As String
replaced = Replace("This is a test sentence. This is the second sentence.", ". ", " ; ")

虽然不会删除。在文本的最后。您可以使用以下命令删除它:

if right$(replaced,1)="." then 
    replaced=left$(replaced, len(replaced)-1)
end if

您可以从此处轻松制定更详细的解决方案。

答案 1 :(得分:0)

您可以使用split()函数执行此类任务,请参阅以下示例:

Sub test()
    Dim S$, x As Variant
    S = " Fined $33.5 million by FINRA, SEC for Puerto Rico Funds ; consumption index rises to 1.63 in August"
    For Each x In Split(S, ";")
        Debug.Print x
    Next x
End Sub

试验:

enter image description here