Excel Vba разделить несколько ячеек на столбцы - PullRequest
0 голосов
/ 25 марта 2019

В моем файле несколько строк (72000+), написанных так:

UNIX timestamp;User id;In/Out

Это домашнее задание о парковке. Моя проблема в том, как разделить все столбцы A на 3 других столбца (например, B, C и D). Я нашел функцию split, но я не понимаю, как сделать цикл, который циклически обрабатывает все строки и разделяет текст на другие столбцы.

Ответы [ 2 ]

1 голос
/ 25 марта 2019

Предполагая, что данные начинаются в ячейке A1 :

Sub Parser()
    Dim cell As Range
    For Each cell In Range("A:A")
        If cell.Value = "" Then Exit Sub
        Range(cell.Offset(0, 1), cell.Offset(0, 3)).Value = Split(cell, ";")
    Next cell
End Sub
0 голосов
/ 25 марта 2019

Попробуйте довольно простой кусок кода, как этот, если вам нужно использовать VBA.Обратите внимание, вам не понадобится никакой код, если вы выполняете эту задачу один раз!

Dim rng As Range

Option Explicit

Sub Test()

With ActiveWorkbook.Sheets(1)
    Set rng = .Range("A1:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
    rng.TextToColumns Destination:=.Range("B1"), DataType:=xlDelimited, semicolon:=True
End With

End Sub
...