Как преобразовать текст в блок кода столбца в цикл? - PullRequest
0 голосов
/ 14 ноября 2018

Я использую следующие коды для отправки в столбец некоторых данных. Я повторяю эти строки от («A: A») до («DM: DM»). Иногда файл, который я хочу запустить, будет иметь меньше, чем количество столбцов. Даже если это так, я сделал код для преобразования текста в столбец максимально возможного количества столбцов. Но это замедляет выполнение. Я хочу преобразовать это в цикл, где, если следующий столбец пуст, выполнение перейдет к следующему блоку.

Можете ли вы, хорошие люди, предложить мне способ сделать это?

Range("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True

Спасибо!

Ответы [ 2 ]

0 голосов
/ 19 ноября 2018

Я немного поигрался с кодом и придумал это решение. Я не знаю, есть ли лучший способ сделать это, но это делает работу.

Если кому-то интересно:

On Error Resume Next
For x = 1 To 200
If Not Range("a1").Offset(0, x).IsEmpty(ActiveCell.Value) Then 
Range("A:A").Offset(0, x).TextToColumns Destination:=Range("A1").Offset(0, x), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, 
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True

Next x
0 голосов
/ 14 ноября 2018

Чтобы проверить, есть ли в столбце непустые ячейки (формула или значение), вы можете использовать это условие:

If Range("A:A").SpecialCells(xlCellTypeBlanks).CountLarge < Range("A:A").CountLarge Then

, который позволит вам определить, заполнен ли столбец каким-либо образом, и выполнять код только в том случае, если он есть.

Имейте в виду, что вызов SpecialCells не будет выполнен, если столбец весь не является пустым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...