如何在VBA中拆分数据

时间:2016-05-08 08:01:04

标签: vba excel-vba excel

Sub ddf()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim x As Double
Dim y As Double
Do Until Range("a1").Value = ""
x = InStr(1, Range("a1"), ".")
y = InStr(1, Range("a1"), "?")
lr = Cells(Rows.Count, 1).End(xlUp).Row
If x > y Then
Range("a" & lr + 1).Formula = Left(Range("a1"), y)
Range("a1") = Replace(Range("a1"), Range("a" & lr + 1), "")
ElseIf x = 0 Then
Range("a" & lr + 1).Formula = Left(Range("a1"), y)
Range("a1") = Replace(Range("a1"), Range("a" & lr + 1), "")
ElseIf y = 0 Then
Range("a" & lr + 1).Formula = Left(Range("a1"), x - 1)
Range("a1") = Replace(Range("a1"), Left(Range("a1"), x), "")
Else
Range("a" & lr + 1).Formula = Left(Range("a1"), x - 1)
Range("a1") = Replace(Range("a1"), Left(Range("a1"), x), "")
End If
Loop
Exit Sub
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

在上面的代码中,我想循环步骤直到范围(“a1”)变为空白。请告诉我上面代码中需要更正的地方。

1 个答案:

答案 0 :(得分:0)

放置

x = InStr(1, Sheets("sheet1").Range("a1"), ".")
y = InStr(1, Sheets("sheet1").Range("a1"), "?")

也就在

之前
Loop

然后放在最后一个

之后
  

结束如果