首页 > 解决方案 > Excel转置列与宏数据循环

问题描述

我有一个问题,我有一列包含一些数据。

我想用宏自动转置所有这些数据。

我在列中有一些特殊文本的单元格,这是第一行的结尾,第二行和 3 .. 我该怎么做?单元格范围是随机的。

谢谢!

在此处输入图像描述

标签: excelvbatranspose

解决方案


此代码将循环复制 ActiveSheet 的第 1 列中的所有非空白单元格,并将它们转置到从 B1 开始的相邻单元格。您需要更改"Condition Text"为每行末尾为圆形时匹配的语句。因为您还没有指定是什么使最后一个单元格与其他单元格不同,所以您需要自己编写这部分。

Option Explicit
Private Sub TransposeCol()
    Dim sht As Worksheet
    Set sht = ActiveSheet
    Dim i As Long
    i = 1
    Dim n As Long
    n = 2

    While sht.Cells(i, 1) <> "Condition Text"
        sht.Cells(1, n) = sht.Cells(i, 1)
        i = i + 1
        n = n + 1
    Wend
End Sub

推荐阅读