【发布时间】:2014-03-19 18:00:33
【问题描述】:
这是我到现在为止的代码,它实际上删除了单元格中的所有内容,但数字除外。这看起来像这样:
Sub myTest()
Dim myCel As Range
Dim i As Integer
i = 0
'copier le contenu de la colonne A dans la colonne B
Columns("A:A").Select
Selection.Copy
Columns("B:B").Select
ActiveSheet.Paste
'on supprime tout ce qui n'est pas un nombre
With CreateObject("VBScript.Regexp")
.Global = True
.Pattern = "\D+"
For Each myCel In Range("B1:B900")
myCel.Value = .Replace(myCel.Value, "")
Next
End With
End Sub
它工作正常...现在,我想要做的实际上是将单元格的内容分成 3 个单元格:一个包含数字之前的所有内容,一个包含数字,一个包含数字之后的内容。我有这样的专栏:
<g0 t="bold">
</g0>
<g1>
</g1>
<g2>
</g2>
<g3>
</g3>
<g4>
</g4>
<i5 t="lb"/>
<i6 t="lb"/>
<g7>
</g7>
<g8>
</g8>
<i9 t="lb"/>
<i10 t="lb"/>
<i11 t="lb"/>
我想得到这样的东西:(在 NP++ 中,正则表达式是 (<.>?)([0-9]{1,3})(.>) 然后替换为 \1\t\2\t\3。嗯,在 VBA 中它更复杂,我想在这个问题上寻求帮助......希望有人有一个想法:)
<g 0 t="bold">
</g 0 >
<g 1 >
</g 1 >
<g 2 >
</g 2 >
<g 3 >
</g 3 >
<g 4 >
</g 4 >
<i 5 t="lb"/>
<i 6 t="lb"/>
<g 7 >
</g 7 >
<g 8 >
</g 8 >
<i 9 t="lb"/>
<i 10 t="lb"/>
<i 11 t="lb"/>
现在我的问题不是关于正则表达式本身(我对正则表达式非常满意),而是 VBA 代码允许我真正拆分单元格并将 3 个部分发送到循环中的 3 个不同单元格...
【问题讨论】: