以下代碼使用硬編碼輸入,但可以使用區域引用替換它,或者在調用sub時將其作爲變量傳遞。
Sub TextDotColumns()
Dim sInput As String, sMid As String, rOutput As Object 'these should be passed when calling sub
Dim lBreak As Long, lColOff As Long, sCheck As String
sInput = "InstrumentBaseClass..Mega~Corporate~InstrumentBaseClass..Mid~Energy~InstrumentBaseClass..Micro~Oil Field Services"
sCheck = ".."
Set rOutput = Range("d10")
lBreak = InStr(1, sInput, sCheck, vbTextCompare)
rOutput.Select
lColOff = 1
Do While lBreak > 0
sMid = Mid(sInput, 1, lBreak - 1)
rOutput.Offset(1, lColOff).Value = sMid
sInput = Right(sInput, Len(sInput) - lBreak - 1)
lColOff = lColOff + 1
lBreak = InStr(1, sInput, sCheck, vbTextCompare)
Loop
rOutput.Offset(1, lColOff).Value = sInput
End Sub
不要忘記,以紀念你們的問題解決了,你忽略了,在過去這樣做。 – Reafidy 2012-01-09 23:32:42
@rjk:[你試過了什麼?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – 2012-01-10 07:34:52