VBA Split String Loop

前端 未结 2 551
北荒
北荒 2021-01-21 09:16

I am trying to split a string and create a loop for going through the cells in the column.There are a few challenges:

  1. Split works for ActiveCell on

相关标签:
2条回答
  • 2021-01-21 09:44

    To address the issues you list

    1. Split acts on the string you pass to it. You are passing the active cell value to it.
    2. You don't update the result of split (FullName) inside the loop. So what else do you expect?
    3. Split Returns a zero-based, one-dimensional array. It says so right there in the help. Option Base 1 specifies the default lower bound, for when you don't specify it in a Dim statement.
    4. You are specifying the column in your code Cells(y, i + 1) (i + 1 in this case). If you want it somewhere else, specify a different column.
    0 讨论(0)
  • 2021-01-21 09:53

    Chris Nelisen outlined the reasons, I had this code written before he posted, so I'll post it anyway.

    Option Explicit
    
    Sub SplitStringLoop()
    
    Dim txt As String
    Dim i As Integer
    Dim y As Integer
    Dim FullName As Variant
    Dim LastRow As Single
    
    ReDim FullName(3)
    
    LastRow = Cells(Rows.Count, "A").End(xlUp).Row
    
    For y = 2 To LastRow
            Cells(y, 1).Select
            txt = ActiveCell.Value
            FullName = Split(txt, "-")
            For i = 0 To UBound(FullName)
               Cells(y, i + 2).Value = FullName(i)
            Next i
    Next
    End Sub
    
    0 讨论(0)
提交回复
热议问题