Dim textstring as String,warray() as String
textstring=Range("A3").Value
warray=split(textstring,"")
If isDate(warray(0))=True Then
Range("A4").Value=warray(1)
End If
此代码仅显示一个单词,不显示其他单词。
答案 0 :(得分:4)
通常,vba Split function用于将字符串拆分为分隔符上的多元素数组。如果使用空格作为分隔符,则句子或段落将分成单个单词。
您提供了一个零长度字符串(例如""
)作为分隔符。来自msdn docs:
...如果分隔符是零长度字符串,则返回包含整个表达式字符串的单元素数组。
因此,如果您想要将某些内容拆分成多个部分,则不能使用零长度字符串作为分隔符。
如果您使用空格作为分隔符并且未提供其他参数,那么您的示例将被拆分为数组的四个元素。我怀疑你只想分开时间并将节目标题放在一起。 limit 参数用于此目的。限制为2会将原始字符串拆分为时间和节目标题。
Option Explicit
Sub Macro3()
Dim textstring As String, warray() As String
textstring = Range("A3").Value
warray = Split(expression:=textstring, delimiter:=" ", limit:=2)
If IsDate(warray(0)) Then
Range("A4").Value = warray(0)
Range("A5").Value = warray(1)
End If
End Sub