excel中列转行

有时我们需要处理一些数据,但这些数据不太友好 。比如我们的数据在excel里面只有一列(如下图)

但我们希望得到的数据是这样的

 

 此时可以使用excel中的VBA来进行转换,代码如下:

Sub 列转行()

t = 6 '这个数据表示要把原表中1列数据里面的6行提取出来,放在一行。【大家复制代码,根据需要修改这个数据即可】

n = Cells(Rows.Count, 1).End(xlUp).Row
sheetname = ActiveSheet.Name
exist = False
For Each sh In Worksheets
    If sh.Name = "运算结果" Then
        exist = True
        Exit For
    End If
Next
If Not exist Then
    Worksheets.Add().Name = "运算结果"
End If

Sheets(sheetname).Activate
j = 1
For i = 1 To n
    For c = 1 To t
        Sheets("运算结果").Cells(j, c).Value = Sheets(sheetname).Cells(i, 1).Value
        If i Mod t = 0 Then
            Exit For
        End If
         i = i + 1
    Next
    j = j + 1
Next

End Sub

 

 

 

posted on 2022-04-14 11:25  这个名字不好用  阅读(377)  评论(1编辑  收藏  举报

导航