我正在尝试创建一个宏,该宏读取表单元的内容,然后在新行中拆分数据,然后将它们逐个发送到一个函数。
我的脚本如下所示
Sub test()
Dim x As Variant
Dim Lst() As String
Dim tbl As Table
Dim i As Integer
Set tbl = ActiveDocument.Tables(1)
x = tbl.Cell(1, 1).Range.Text
'x = "Left" & vbCrLf & "Center" & vbCrLf & "Right"
MsgBox x
Lst = Split(x, vbCrLf) '<-- This works with x = "Left"&vbCrLf&.....
For i = 0 To UBound(Lst)
'Send it to Funciton
MsgBox Lst(i)
Next i
MsgBox Lst(0)"<-- used this to check is split occured
End Sub
由于某种原因,脚本未按新行拆分单元格的数据。我也尝试将数据直接传递给split函数来解决此问题,但是没有运气。 split(tbl.Cell(1,1).Range.Text, Chr(10))
我已经使用宏为excel写了一个类似的脚本,它可以在Excel中正常工作。 我是在错误的数据类型中初始化变量吗?
答案 0 :(得分:0)
这可能是因为这些行之间的分隔符不是vbCrLf
。
改为使用vbLf
或vbCr
。