首页 > 解决方案 > Excel 中的 Flash 填充结果为列 - 而不是行

问题描述

我想要列中的快速填充结果。

数据是这样的:

在此处输入图像描述

VBA 能帮上忙吗?VBA 可以将数据转置在一行中,Flash 填充该数组,然后将其转回下一行。

标签: vbaexceltranspose

解决方案


这是动态的标题长度和字符串拆分-

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

导致有史以来最糟糕的歌曲的歌词输出如下所示:

在此处输入图像描述


推荐阅读