如何在vb中以数组形式显示

时间:2018-05-19 10:54:29

标签: excel-vba vba excel

 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

此代码仅显示一个单词,不显示其他单词。

1 个答案:

答案 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

enter image description here