Flash Заполните в Excel результат в столбцах, а не в строках - PullRequest
0 голосов
/ 24 августа 2018

Мне нужны результаты Flash Fill в столбцах.

Данные таковы:

enter image description here

Может ли VBA помочь здесь? VBA может транспонировать данные в одну строку, Flash заполнить этот массив, а затем транспонировать их обратно в следующую строку.

1 Ответ

0 голосов
/ 24 августа 2018

Это динамическая длина заголовка и разбиение строки на -

Option Explicit

Sub FlashFill()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim MyCell As Range, StringRange As Range, Arr, i, lcol

Set StringRange = ws.Range(ws.Cells(1, 1), ws.Cells(1, ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column))

For Each MyCell In StringRange
    Arr = Split(MyCell, "-")
        For i = LBound(Arr) To UBound(Arr)
            MyCell.Offset(i + 1) = Arr(i)
        Next i
    Arr = ""
Next MyCell

End Sub

В результате текст самой худшей песни за всю историю выглядит так:

enter image description here

...