首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Excel VBA:将列转置为行

Excel VBA:将列转置为行
EN

Stack Overflow用户
提问于 2016-10-11 23:08:21
回答 1查看 2.2K关注 0票数 1

我需要将我的列转置为行。我有一个代码,我发现它可以工作,但它并不完全是我想要的。

这是我的文件在运行代码之前的样子:

这是我运行代码后文件的样子:

我希望我的结果显示在列的顶部单元格所在的行上。在本例中,我希望列在第5行转置,而不是像您在第二张图片中看到的那样跳到第1行。

这是我的代码:

代码语言:javascript
运行
复制
Private Sub CommandButton1_Click()
Dim rng As Range
Dim I As Long

    Set rng = Range("B5")
    While rng.Value <> ""
        I = I + 1
        rng.Resize(60).Copy
        Range("C" & I).PasteSpecial Transpose:=True
        Set rng = rng.Offset(60)

    Wend
    rng.EntireColumn.Delete
End Sub
EN

回答 1

Stack Overflow用户

发布于 2016-10-11 23:19:07

一种方法:

代码语言:javascript
运行
复制
'// source column range
Set rng = Range("B5", Range("B5").End(xlDown))

'// resize from destination cell, transpose
Range("B5").Resize(rng.Columns.Count, rng.Rows.Count).Value = WorksheetFunction.Transpose(rng)

'// clear transposed values
'// offset by 1 to preserve B5
rng.Offset(1, 0).Clear
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39980532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档