【发布时间】:2019-09-30 09:06:34
【问题描述】:
每天我们都会收到一个包含数据库转储的 Excel 文件。大多数文件都在我制作的 VBA 脚本中进行排序,但我还有一个无法解决的问题。在其中一列 (A) 中,我有时有 2 个字符串,我只喜欢保留其中一个。我想保留的字符串看起来像“M1234 5678”。数字确实变了... 该列有时在 M1234 5678 之前或之后有其他文本。我想删除所有这些文本,所以我只保留所需的字符串。
我已经尝试使用搜索功能尝试使用修剪功能并搜索看起来像“M#### ####”的字符串来解决问题。走这条路没有运气。我不得不承认,在 2 周前,我一直在使用下面的代码,可能会因为我当时试图解决的问题而搞砸了。
Sub TrimText()
Dim FinalValue As String
Dim lastStop As Long
With Sheets("Blad2")
lastStop = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 2 To lastStop
FinalValue = Trim(Cells(i, 1).Value)
If InStr(FinalValue, "ALQ") > 0 Then
Cells(i, 1).Value = Left(FinalValue, InStr(FinalValue, "M*"))
End If
Next
End With
End Sub
我希望删除 M#### #### 字符串左侧或右侧的任何文本。
感谢您的帮助。
【问题讨论】:
-
数字变了,但感兴趣的字符串长度保持不变吗?
-
我建议使用regular expressions