0

我在文本框中有这样的数据:

目的

我想在列表视图中将该数据的 3 种类型拆分为 3 个列。我知道如何使用这种类型的代码按字符拆分数据:

Private Sub Command1_Click()
Dim a As String
Dim b As String
Dim c As String

Dim i As Long
Dim sLines() As String
Dim sValues() As String
sLines() = Split(Text1.Text, vbCrLf)
For i = 0 To UBound(sLines)
   If sLines(i) > vbNullString Then ' skip for empty line
      sValues() = Split(sLines(i), ".")
      a = sValues(0) & vbCrLf
      b = sValues(1) & vbCrLf
      c = sValues(2) & vbCrLf
      Set List = ListView1.ListItems.Add(, , a)
      ListView1.ListItems.Add.SubItems(1) = b
      ListView1.ListItems.Add.SubItems(2) = c
   End If
Next i
End Sub

但结果是这样的:

结果

它与这条线没有关系。我的代码会发生什么?这是错的吗?请帮助我,谢谢

4

1 回答 1

1

我建议你尝试这样的事情,你实际上可以使用 for i .. 循环遍历值数组,但你明白了要点!

Private Sub Command1_Click()
Dim a As String
Dim b As String
Dim c As String

Dim i As Long
Dim sLines() As String
Dim sValues() As String
Dim oItem As ListItem

sLines() = Split(Text1.Text, vbCrLf)
For i = 0 To UBound(sLines)
   If sLines(i) > vbNullString Then ' skip for empty line
      sValues() = Split(sLines(i), ".")
      a = sValues(0) & vbCrLf
      b = sValues(1) & vbCrLf
      c = sValues(2) & vbCrLf

      Set oItem = ListView1.ListItems.Add(, , sValues(0))
      Call oItem.ListSubItems.Add(, , sValues(1))
      Call oItem.ListSubItems.Add(, , sValues(2))
   End If
Next i
End Sub
于 2017-06-26T08:37:04.740 回答